PHP on Windows - Bölüm 1 : FastCGI

2009 yılı içerisinde yazmış olduğum ve ComputerWorld gibi dergilerde yayınlanmış olan PHP On Windows başlıklı yazımı, birkaç bölüm halinde yayınlamaya çalışacağım :

Daha önceki IIS sürümlerinde de CGI veya ISAPI olarak PHP uygulamalarını çalıştırmak mümkündü. Ancak yazılım geliştiriciler ve web yayıncıları (hoster’lar) tarafından bu şekilde çalıştırılan PHP uygulamalarından performans alınamadığı gerekçesiyle çoğunlukla Linux üzerinde çalıştırmak tercih edilmektedir. İşin diğer bir yönüne bakacak olursak da PHP uygulamaları, çoğunlukla yazılımcının Windows tabanlı bilgisayarında geliştirilmekte, yayınlanma aşamasına geldiğinde ise Linux ortamına taşınmaktadır.

Windows Server 2008 içerisinde yer alan IIS 7.0 ile birlikte artık bu önyargı ortadan kalkıyor. IIS 7.0, PHP’yi daha etkin, hızlı ve stabil çalıştırabilmek için yeni özellikler ve optimizasyonlar içermektedir. Kuşkusuz bu özelliklerden en önemlisi FastCGI standardının eklenmesidir. FastCGI, istek (request) başına işlem oluşturma/yok etme adımlarını pooling ve çoklu çalışma proseslerini (işlemlerini) tekrar kullanarak düşürmektedir. Böylece PHP uygulamalarının Windows üzerinde çalışmasında önemli performans iyileşmesi sağlanmaktadır.

Microsoft, açık kaynak kodlu sistemlerin ve uygulamaların Windows platformunda çalışmasının önemli olduğunu düşünmekte ve bunun için çalışmalar yürütmektedir. Özellikle de dünya üzerindeki milyonlarca PHP yazılım geliştiricilerden çoğunun uygulamalarını Windows üzerinde geliştirdiği göz önüne alındığında kararın önemi anlaşılmaktadır (www.php-editors.com sitesinde yer alan PHP editörlerden 49 tanesinin Windows versiyonu bulunmaktadır).

2006 yılının başlarından beri Microsoft, Windows platformunu PHP için daha iyi duruma getirmek amacıyla çalışmaktadır. Bu amaçla önde gelen PHP firmalarından Zend ile Windows üzerindeki PHP performansını geliştirebilmek için ortak çalışmalar yürütmektedir. Bu çalışmaların ilk meyvesi de yukarıda bahsettiğimiz gibi FastCGI’ın IIS 7.0’a eklenmesidir.

Bu noktada kısaca FastCGI’a göz atmak faydalı olacaktır: FastCGI; platform ve dil bağımsız, açık kaynaklı bir extension olarak 1996 yılından beri geliştirilmektedir. Sunucu sistemlerin özel API’lerine göre çok daha fazla performans sağlamaktadır. Microsoft ve Zend işbirliği neticesinde, Windows Server 2008’in Beta 3 versiyonundan itibaren IIS 7.0’da yer almaktadır. Beta aşamasındaki bu ekleme sonrasında yapılan ilk testlerde bile %40’ın üzerinde performans iyileştirmeleri görülmüş ve geliştirilmeye devam edilmiştir.

Not 1 : Windows Vista’da yeralan IIS 7.0, FastCGI desteği içermemektedir. Service Pack 1 (SP1) ile birlikte FastCGI desteği Vista’ya da eklenmiştir.

Not 2 : FastCGI desteği Windows Server 2003 / IIS 6.0 için de sunulmaktadır. http://www.iis.net/download/FastCGI adresinden indirilip IIS 6.0 üzerine extension olarak eklenebilmektedir.

Comments

Pingbacks and trackbacks (3)+