WEB Server Performansını Nasıl Arttırırım? -2

Filed in Apache | FreeBSD | Gezegen | Lighttpd 1 Comment

WEB performans arttırımı ile alakalı başlamış olduğum yazıma 2. kısımla devam ediyorum. Bu kısımda sizlere anlatacağım konular altta belirtilmiştir. Performans ile alakalı bahsedeceğim tüm kısımların listesine buradan ulaşabilirsiniz.

1- Giriş

2- Donanım Performans Arttırımı

Sitenize aynı anda giren kişi sayısı haddinden fazla ise sizin de web sitenizde performans arttırımı yapmanızın zamanı gelmiş demektir. Bununla birlikte sitenizde fazla kişi olmamasına rağmen sitenizin performansını arttırarak hem kullanıcıların isteklerini daha hızlı gerçekleştirebilmelerini sağlamış olursunuz hem de ileri bir zamanda sitenize girecek kişi sayısının artmasına karşı önleminizi şimdiden almış olursunuz.

Ölçüm ortamının hazırlanması

Optimizasyonlara başlamadan önce performans arttırımı yapılacak sistemin mevcut durumunu ölçmeliyiz ki yaptığımız performans arttırımından sonra karşılaştırma yapma imkanımız olsun. Bunun için Linux kullanıyor isek LBS i , Windows kullanıyorsak Performans Monitör ü kullanabiliriz.

Performans arttırımındaki en temel amaç RAM i (cacheleme için) olabildiğince fazla kullanma, disk bazlı aktivitelerin minimuma indirilmesidir. Sistemlerde swap alanının olabildiğince kullanılmaması bir başka önemli husustur. Eğer sisteminiz swap alanını kullanmaya başlamış ise bu sizin daha fazla RAM e ihtiyacınız olduğunu göstermektedir.

Optimizasyon yapılacak sistemlerde optimizasyon sırası genelde şu sırada olmalıdır;

  1. Daha fazla RAM
  2. Daha hızlı diskler, RAID konfigürasyonu doğru yapılmış
  3. Daha hızlı CPU

Ölçeklenirlik (Scalability)

Büyük yüke sahip siteler genellikle web server ve database server ı fiziksel olarak ayrı makineler üzerinde çalıştırırlar. Buna rağmen az yüke sahip sitelerde böyle bir şeye gerek yoktur. Bunun yanında load-balance uygulamasıyla bir sitedeki web server sayısı da arttırılabilir. Bu tip durumlarda farklı web serverların aynı database ve file servera bağlanması gerekebilir. Bu tip çalışma şekline clustering diyoruz. Aynı çalışma ihtiyaca göre database server tarafında da yapılabilmektedir.

Donanım Performans Arttırımı

NOT: Optimizasyon ile alakalıa yapabileceğiniz en hızlı ve en verimli gelişme web serverınızdak RAM miktarını olabildiğince arttırmaktır. RAM miktarınız arttırarak swap alanının kullanımını engelleyerek diske erişimleri azaltacak daha fazla kullanıcının işlem yapmasını sağlayacaksınız.

  • Yüksek işlemci kapasitesine sahip olmak iyi bir performans arttırım kuralıdır. Örneğin son zamanlarda sıklıkla kullanılan dual veya quad core işlemcilerin kalitesi gayet yüksek düzeydedir.
  • Eğer maddi imkanlarınız yeterli düzeyde ise SATA diskler yerine  SCSI diskleri tercih edin. SATA diskler CPU kullanımının artmasına neden olur. SCSI disklerde entegre işlemciler bulunduğu için böyle bir durum söz konusu değildir. Eğer SATA disklere sahip iseniz, anakartınızın ve diğer driver larınızın NCQ (Native Command Queuing) özelliğini desteklemesi gerektiğini kontrol edin.
  • Disklerinizin dönüş hızları ne kadar fazla ise database verilerinize o kadar hızlı ulaşabilirsiniz. Bu nedenler RPM miktarları fazla olan diskleri tercih edin. Ör : 15000RPM
  • SWAP alanını doğru belirleyin. Genel tavsiye olarak bu alanın RAM miktarının 4 katı olması gerekir.
  • Disklerinizi uygun RAID konfigürasyonu ile birlikte kullanın.
    • Donanımsal RAID controller kullanın.
    • RAID 10 kullanımı tercih edin. NOT: Web server ve database server ın mirror olmayan disklerde olmasına dikkat edin.
  • Gigabit ethernet kartı kullanın. Özellikle web server ve database server ın ayrı hostlarda olması durumunda bu durum daha önemlidir.
  • Network kartının ayarlarını kontrol edin. Kart üzerindeki buffer kullanımı miktarını, giriş/çıkış descriptorlarını arttırarak ve kart üzerinde off-loading TCP checksum hesaplama işlemini aktif ederek (bu hesaplamayı CPU yaptırmadan) ciddi performans kazanımı elde edebilirsiniz.
  • 300 kullanıcılı sistemde yapılan stres testinin buradan bir inceleyin.
  • Aynı sistemin network trafik miktarını ve server yükünü buradan bir inceleyin.
  • Burada yapılmış bir uygulama görülmektedir. Bir inceleyin derim.
  • SFSU üniversitesinde yapılmış bir prezentasyon bulunmaktadır. Burayı da bir incelemenizi tavsiye ederim.

KAYNAKLAR;

http://blog.digitalstruct.com/2008/01/31/performance-tuning-overview/

http://blog.stuartherbert.com/php/2008/01/31/more-about-performance-tuning/

http://httpd.apache.org/docs/2.0/misc/perf-tuning.html#page-header

http://docs.moodle.org/en/Performance

http://docs.moodle.org/en/lighttpd

http://www.devside.net/articles/apache-performance-tuning

http://linuxbox.co.uk/vbulletin_performance_tuning.php

VN:F [1.9.14_1148]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.14_1148]
Rating: 0 (from 0 votes)
Share
PDF    Send article as PDF   

, ,

TOP