|
|
LinkBack | Seçenekler | Stil |
#1
|
|||
|
|||
Linux'da Performansı Arttırmanın YollarıKullanilacak Bilgisayarin Linux Icin Hazirla
Kullanilacak Bilgisayarin Linux Icin Hazirlanmasi
Tum Guc Yonetimi Ozelliklerini Devre Disi Birakin Bilgisayarimizin performansi, surekli calismasi ve disklerinin surekli donmesiyle dogrudan baglantilidir. Bu nedenle cpu bekleme konumu ve ozellikle disklerin durdurulmasi ozelliklerinin devre disi birakilmasi cok ONEMLIDIR. Aksi taksirde bu suspend durumundan bilgisayarin tekrar normal konumuna donmesi icin gececek hatiri sayilir bir beklemeye neden olacaktir. Sistem Kernel'inde Yapilabilecek Degisiklikler En Guncel Surumu Kullanin ! PGCC Kullanin Pentium makinaniz varsa, bunun icin optimize edilmis olan bu derleyiciyi kullanin. Islemcinizi Dogru Secin Kernel parametrelerini ayarlarken, makinanizdaki islemciyi secin. Processor Family = (PPro,Pentium) gibi. Bu, kernelinizin islemcinizin tum instruction setini kullanmasina ve dolayisiyla performans artisina neden olacaktir. MTRR Destegi Ekleyin Eger Islemciniz Pentium Pro/II/III yada AMD K2-2/3 den biriyse MTRR = [X] olmalidir. Math Emulation Devre Disi ! Islemciniz Math Coprocessor tasiyorsa, kernel ayarlarindan Math Emulation degerini devre disi birakin. Bu Matamatik yogun (X gibi) islemlerde muthis fark edecektir. SMP Sadece SMP Makinalar Icindir SMP destegini, ancak makinaniz SMP bir makinaysa, yani birden fazla islemci iceriyorsa devreye sokun. Aksi halde devre disi birakin. Server larda Guc Yonetimi Olmaz Eger Linux' iniz server olarak calisiyorsa APM (Advanced Power Management) devre disi birakilmalidir. Disklerin durup tekrar calismasi omurlerini azalttigindan cok buyuk sistemlerde, diskler ayri bir unite icinde olup hicbir zaman kapatilmamalidir. Chipset Duzeltmeleri Gerekli Oldugunda Aktive Edilmeli Kernel icinde cesitli chipsetler icin hata duzeltmeleri yapilabilmesine olanak saglanmistir. Eger sizin sisteminiz bu chipsetlerden ihtiva etmiyorsa bunlari devre disi birakin. Ornegin RZ1000 chipseti. Birden Cok Disk Icin Stripping (RAID-0) Eger birden cok diskiniz varsa RAID-0 devreye konulmalidir. Kernel/User Netlink Kernel/User Netlink ozelligini devre disi birakin SCSI Destegi SCSI Sistemler Icindir Eger SCSI cihazlariniz yıoksa, SCSI destegini devre disi birakin SCSI Sistemlerde Probe All LUN Eger mutlaka tum LUN (Logical Unit Number) lari check etmek istemiyorsaniz Probe All Luns ozelligini devre disi birakin. Dikkat ! Eger Makinanizdaki SCSI cihaz bosluk atlayarak bu degere sahipse (Orn, Lun 1: HDISK1, Lun 3: HDISK2) bu ozelligi devre disi birakmayiniz. Verbose SCSI Error Reporting Verbose SCSI error reporting ozelligini devre disi birakiniz. SCSI Logging Facility SCSI Logiing Facility ozelligini devre disi birakiniz. Maximum Number Of Commands Per LUN Deneyerek sistemize en uygun degeri bulunuz. Herhangi bir standardi yada yaklasimi yok. Network Gerekli Mi ? Eger gerekli degilse, tum network cihazlarini devre disi birakin. Maximum Number of Unix98 PTYs Bu degeri 128 olarak tanimlayin Watchdog Timer Support Bu ozelligi devre disi birakin Gerekli File Sistemler Icin Destek Verin Sadece sisteminizde kullanacaginiz file sistem ler icin destek verin. Digerlerini devre disi birakin (Ornegin MSDOS (VFAT), EXT2fs, /dev/pts, /proc ve ISO 9660 CDROM genellikle yeterlidir.) Network File Sistemler Icin Gerekli Olanlara Destek Verin Network file sistemler icin, sadece gerekli olanlara (ornegin NFS (#undef NFS_PARANOIA ile birlikte)) destek verin. Console Suruculerini Devre Disi Birakin VGA Text Console yeterli. Digerlerini devre disi birakin. Enhanced Real Time Clock Support Buna ihtiyacimiz yok. Devre disi birakin Gereksiz Seri Port ve Mouse Suruculeri Gereksiz seri port ve mouse suruculerini devre disi birakin. TV Kartiniz Var mi ? Eger cevabiniz hayirsa Video for Linux 'i devre disi birakin. NON SCSI/IDE/ATAPI CDROMs Hic geregi yok. (Eger side bir tane bunlardan yoksa tabii ki) Devre disi birakin. ISDN Var mi ? Cevabimiz genllikle hayir. O halde devre disi birakin. Loadable Modullere Gerek Var mi ? Bttv (video4linux) gibi ozellikle bazi parametreleri disardan girilmesi gereken cihazlarin disinda modul olarak birseyler olusturmayin. Eger kernel too big gibi bir hata alirsaniz make bzlilo ile derleyebilirsiniz. Amateur Radio Buda ne ? Devre disi birakin. Irda SubSystem Eger bir notebook yada benzeri birsey uzerinden infrared kullanmiyorsaniz, devre disi birakin. Makina Multimedya Destegi Veriyor mu ? Eger cevabiniz hayirsa tum ses kartlari ve joystick leri devre disi birakin. Linux Sistem Programlarinin Hazirlanmasi Sisteminizda calisan uygulamalarin olabildigince guncel surumlerini kullanin. Bu, hatalari en aza indirilmis bir sisteme ve daha durayli bir Linux'a sahip olmanizi saglayacaktir. Derleyici olarak (eger makinaniz pentium serisi ise) pgcc kullanin. Tum Gereksiz Sistem Servisleri ve Daemon lari Devre Disi Birakin Bilgisayarinizda gereksiz uygulamalari devre disi birakin. Ornegin evde kullandiginiz bilgisayarda web sunucusunun, news sunucusunun, samba nın calismasi oldukca gereksizdir. Benzer sekilde web sunucusu olarak kullanilan bir makinada X serverin calismasi da ornek verilebilir. Az Gerekli Uygulamalarin Onceliklerini Dusurun Sisteminizde calisan uygulamalarin onceliklerini nice komutuyla dusurebilirsiniz. Ornegin evdeki makinanizda sendmail yada cron programlarinin yuksek oncelige ihtiyaclari yoktur. Benzer sekilde internet proxy makinasi olarak calisan bir makinada cron yada news sunucusunun onceliklerinin yuksek olmasinin bir geregi yoktur. IRQ Kesintilerinin Onceliklerini Ayarlayın irqtune, cok kullanisli bir yardimcidir. Bir veritabani sunucusu, ethernet kartindan cok disk islemleri yapar. Bu nedenle ethernet onceligi dusurulurken, disk controlller onceligi yukseltilebilir. Ornegin irqtune 11 8 (11 adaptec scsi kontroller irq su, 8 PCI Ne2000 ethernet irq su) bir veritabani sunucusu icin iyi bir tercihken, bir internet gateway icinse irqtune 8 11 daha iyi bir tercihtir. IDE Diskiniz Varsa Disk Erisim Parametrelerini Duzenleyin HDPARM, ide controller inizin calisma parametrelerini ayarlayabildiginiz bir programdir. Read-ahead bufferi, DMA kullanimi gibi cesitli parametreleri duzenleyebilirsiniz. Ayni zamanda harddisk uzerindeki cache, chipset gibi ozelliklere de bagli oldugundan her sistem icin en uygun degerin tespit edilmesi onemlidir. Ayni zamanda diskten bir seferde okunan bilginin hacmi de bu parametrelerde onem tasir. Ornegin veritabani uygulamalari gibi bilgiyi blok blok okuyan bir uygulama yogun calisiyorsa, DMA aktivasyonu sirali okuma performasyonunu artirirken, rasgele okuma hizini dusurebilir. Sistem Daemon larinin Ayarlanmasi TCP/UDP Performansi Sisteminizin band genisligi iyiyse (ornegin local 10 mbit) yapilacak birkac ufak degisiklikle, TCP performansi onemli olcuda arttirilabilir. Time Stamps Duraysiz baglantilarda ve dusuk hizlarda networkte cevaplama/band genisligi utilizasyonu icin kullanilan bir parametredir. Intranetlerde iyi bir ethernet altyapisi ve hizli bir omurga oldugu icin buna ihtiyac yoktur. echo 0 > /proc/sys/net/ipv4/tcp_timestamps komutuyla bu ozellik devre disi birakilabilir. Tcp Window Scaling Duraysiz baglantilarda ve dusuk hizlarda uzun beklemelrin duzeltilmesi icin kullanilan bir parametredir. Intranetlerde iyi bir ethernet altyapisi ve hizli bir omurga oldugu icin buna ihtiyac yoktur. echo 0 > /proc/sys/net/ipv4/tcp_window_scaling komutuyla bu ozellik devre disi birakilabilir. Selective Acknowledgements Duraysiz baglantilarda ve dusuk hizlarda network utilizasyonu icin kullanilan bir parametredir. Intranetlerde iyi bir ethernet altyapisi ve hizli bir omurga oldugu icin buna ihtiyac yoktur. echo 0 > /proc/sys/net/ipv4/tcp_sack komutuyla bu ozellik devre disi birakilabilir. PPPD - Internete Giden Yol Burada, 56 k modemler ile internet baglantisinin tune edilmesi anlatilmistir. 56K Hazir Mi ? Oncelikle modeminizin hizini kontrol edin. Internete baglandiginizda hiziniz 57600 gorunuyorsa V90 yada 56KFlex devrede degil demektir. Bazi eski USR 56 k modemlerde flash bios update programlari ile bu yukleniyordu. Gercekte baglanti hizinizin 44000 gibi biryerlerde olmasi gerekli. Seri Portlarinizin Hizlarini Ayarladiniz Mi ? #!/bin/sh /bin/sets***** -v /dev/modem port 0x2f8 irq 3 spd_vhi /bin/sleep 1s /bin/sets***** -v /dev/modem port 0x2f8 irq 3 spd_cust baud_base 460800 divisor 2 /bin/sleep 1s /bin/sets***** -v /dev/modem port 0x2f8 irq 3 spd_vhi scripti, seri portlarinizin hizlarini, 56k icin uygun hale getirir. MRU/MTU Bu degerler bir seferde modemden gonderilecek ve alinacak paket buyulugunu belirtir. Eger servis saglayiciniz bir deger onermiyorsa, deneyerek bulabilirsiniz. 576 dan baslayabilirsiniz. (Bu genellikle en iyi verim alinan degerdir) pppd.options dosyasi icinden degistirilir. HDPARM, Tanrim Burada da Mi ? HDPARM ile ide interrupt ini unmask edin. Bu sayede ide interrupti olustugunda ayni anda seri port icin olusan interrupt ta process edilebilir. Aksi halde ide devredeyken seri port interrupt ina sistem aldirmayacak ve o an gelen paket iptal edilecektir. irqTune, Modem Interrupt i Daha Muhim ! irqtune ile modem portunun irq priority sini artirin. Apache Web Sunucusu Statik kutuphaneleri kullanin. AddModule modules/mod_mmap_static.o satirini httpd.conf dosyasina ekleyin. Statik sayfalarinizi konfigurasyon dizinindeki mmap.conf dosyasina ekleyiniz. Dinamik Modul Destegini Devre Disi Birakin Eger dinamik modulleri yuklemiyorsaniz, Apache derlenirken derleyiciye -DDYNAMIC_MODULE_LIMIT=0 parametresini veriniz. Ram Diskler Herzaman Hizlidir Temel bilesenleri (ornegin web sunucusunun index.html dosyasi ve onda bulunan resimler) yaratilacak bir RAM disk uzerinde tutulabilir. Hatta, RAM uygunsa icindekiler sayfalarinin tumu bu disk uzerinde tutulabilir. Bu siteye ilk giriste istemci makinanin hizli bir erisime sahip olmasina ve o istemci icin acilacak yeni worker thread icin ilave zaman kazandiracaktir. Sembolik Linkleri Takip Etmeyin Eger mutlaka grekli degilse FollowSymLinks ozelliklerini devre disi birakin. Aksi halde apache her linkin dogrulanmasina calisacak ve bu zaman kaybina neden olacaktir. Ornegin /www/test/index.html dosyasina erismek icin once /www ye, sonra /www/test e ve en sonunda /www/test/index.html e lstat cekecek ve bunu asla cache etmeyecektir. Yogun sitelerde ciddi performans sorunlarina sebep olabilir. Sembolik Linkleri Dogrulamayin SymLinksIfOwnerMatch i cok gerekmedikce kullanmayin. DocumentRoot /www/htdocs <Directory /> Options SymLinksIfOwnerMatch </Directory> Yukaridaki gibi bir dizin icin, bu disinden alinan her dosyadaki linkler, nerde olursa olsun match edilecektir. Inanilmaz bir yavasliga neden olabilir. AllowOverride Ozelligini Kapatin Eger mutlaka gerekli degilse, httpd.conf icinden AllowOverride i none olarak atayin. Aksi halde dizin yapisi icinde en ustten en alta .htaccess dosyalarina tek tek bakilacaktir. Bu islem cache edilmediginden her baglantida ekstra disk islemleri gerektirecektir. KeepAliveTimeout Degerini Ihtiyaciniza Gore Duzenleyiniz Bu deger server isleminin baglantiyi ne kadar canli tutacagini gosteririr. Genellikle 15 sn oalrak gelir. Fakat eger e-commerce isi yapiliyorsa bu degeri buyuk vermek (Orn 60 sn) ciddi performans artisi saglayabilir. StartServer, Web Sunucusunun Resepsiyonu ! StartServer, apache yuklenir yuklenmez kactane serverin birlikte yuklenecegini belirtir. Herbir server istemci cagrisi geldiginde ona cevap verir. Eger sitenizin yuksek bir hit i varsa 64 iyi bir baslangic olabilir. Eger hala bir yavaslik varsa, sizi tatmin edecek degere kadar 32 ser 32 ser arttirin. MaxClient Degerini StartServer Degerine Gore Ayarlayin Eger siteniz ayni anda StartServer'dan daha fazla hit almiyorsa bu degeri StartServer'a esitleyin. Eger site cok daha yukluyse MaxClient i daha fazla artirmaniz gerekecektir. Aksi halde StartServer asiri miktarda buyutulurse sistem performansinin dusmesine sebep olabilir. SMP Makinalarda Derleme Sirasinda Asagidaki Parametreyi Tanimlayin Eger SMP (Symmetric Multi Processor) bir sisteme sahipseniz, Makefile icindeki FLAGS bolumune -DSINGLE_LISTEN_UNS*****IZED_ACCEPT i define edip tekrar derleme yapin. HostName Lookup HostName lookup off olmalidir, zira her istemci makina icin bir nsquery calistirdigindan sistem performansi dusecektir. SAMBA - Super SMB Sunucu OpLocks - %30 Servis Performansi Oplocks, SMB istemcisinin kullandigi dosyayi kendi uzerinde yazma okuma cache islemlerini yapip yapmayacagini belirleyen bir ozelliktir. Eger server bu degeri true dondururse, istemci bu dosyayi sadece kendisinin kullandigina hukmedip tum islemlerinde kendi cache ini kullanacaktir. Oplocks ondeger olarak on konumunda gelmekte. Bu degeri Oplocks=false konumuna getirmek, sisteminizde %30 lara varan bir performans artisina neden olabilir. Fakat her paylastirilmis kaynak icin kontrol edilmeli, eger o kaynak icin sorun yaratiyorsa tekrar on konumuna getirilmelidir. Level2 Oplocks (Read Only) Eger sistem uzerinde ayni dosyalar (clipart kutuphaneleri, DLL ler gibi) cesitli istemciler tarfaindan yogun bir sekilde kullaniliyorsa, read only oplocks belirgin bir performans artisi saglayabilir. Bu degeri Level2 Oplocks = false yapin. Bu sayede istemci makinalar sadece okuma icin cache tutacaklardir. SHARE MODES: Bazi durumlarda dosyalarin acilmasi cok yavas olabilir. Bunun bir nedeni, Samba nin dos dosya acma modlarini desteklemeye calismasidir. Bu deger SHARE MODES = no seklinde verilirse, dosyayi ilk anda bir istemci read/write acabilir, sonra acanlar ise sadece read yetkilerine sahip olurlar. Not, dbase yada paradox gibi sadece wks db engine e sahip veritabanlari bu sekliyle calismaz. Ancak client/server (ornegin Pervasive.SQL gibi) uygulamalar bu paylasimi yapabilirler. Yani istemci tarafindan (eger o dosya daha once read/write baskasi tarafindan acilmissa) sopen(.....) seklinde bir dosya acilmaya kalkildiginda dosya read/write acilamayacaktir. Ne acidir ki Window uygulamalarinin bircogu veri alisverisi icin bu yontemi kullanirlar. LOG LEVEL: Samba loglarinin hangi detayda tutulacagini belirtir. Eger 2 den buyukse bayagi bir disk islemi yaratacagindan performansi dusurur. O nedenle 2 den kucuk olmalidir. READ RAW, WRITE RAW: eger bu degerler yes olarak tanimliysa, Samba disk islemlerini dusuk seviyede kendi yapar. Bazi sistemlerde performans kaybina neden olabilir. Her iki degerin read raw = no, write raw = no olarak ayarlanmalidir. READ PREDICTION: Eger sadece okunur paylasimlariniz varsa, bu deger yes olmalidir. Boylelikle Samba bir data blogunu okuduktan sonra hemen ardindan gelen blogu da okuyup bekler. Boylelikle sirali okumalarda (ornegin dosya kopyalama) gozle gorulur bir performans artisi saglanabilir. Okunan deger READ SIZE dan buyuk degildir. Unutmayin !, Samba performansi istemci makinalara da baglidir. Istemci makinalarinizin windowsize degerlerini kontrol edin. Database Sunucularinin Ayarlanmasi Pervasive.SQL 2000 Memory Usage Pervasive Control Center bolumunden asagidaki ayarlar yapildiginda, bu veritabani sunucusundan maksimum verim elde edilebilmektedir. Denenmis olan kendi sistemimizde, TPC-B testinde 85.000-100000 transaction/second bir deger elde edilmistir. Ayni parametrelerle NT uzerinde 50000 transaction/second civarinda bir performan elde edilebiliyordu. (Ayni makinada bundan once NT vardi. Tipatip ayni konfigurasyon) Burada sistem henuz tam optimize edilmemis, sadece PSQL optimize edilmistir. Allocate Resource At Startup : Yes Back To Minimal State if Inactive: No Performance Tuning Cache Allocation Size: Sistemdeki bos RAM miktarin 2/3 miktari. (KB Olarak) Index Balancing: On Number of Communication Threads: 10 (Sistemde kullanici sayisi 100 e yakin yada fazlaysa 20) Number of I/O threads: 8 (Is yuku fazlaysa maximum 64) Progress Progress icin en can alici nokta proserv edilecek database lerin toplami ve toplam bos alanda kullanilacak shared memory alanidir. Soyle bir hesapla herbir proserv edilecek database icin ne kadar blok kullanilacagi hesaplanabilir: Blok Sayisi: ((DBS) / (TDB)) * (RAM / AU) DBS: proserv edilecek database buyuklugu TDB: Toplam database buyuklugu RAM: Kullanilabilir fiziksel bellek AU: Allocation Unit (UNIX lerde 4096, Novell icin 2048, MS Windows NT de 4096 default) Sistemde bir database proserv edilirken, proserv <databaseName> -H <hostname (gerekiyorsa) -N <protokol> -B <Blok Sayisi> -d dmy seklinde bir kullanim yeterlidir. Aksi halde progress, shared bellegi, proserv edilen database ler arasinda esit paylastirmakta, boylelikle buyuk hacimdeki datalarin ihtiyac duydugu sort buffer kuculmekte ve cache de az geldiginden index update islemleri yavaslamaktadir. |