Apache HTTP Sunucusu Sürüm 2.0
Çok Süreçlilik Modülleri (MPM’ler)
Bu belgede Çok Süreçlilik Modülü denince ne anlaşıldığı ve bunların Apache HTTP Sunucusu tarafından nasıl kullanıldıkları açıklanmıştır.
Giriş
Apache HTTP Sunucusu çok çeşitli platformlar üstünde farklı ortamlarda çalışabilen güçlü ve esnek bir HTTP sunucusu olarak tasarlanmıştır. Farklı platformlar ve farklı ortamlar çoğunlukla farklı özellikler veya aynı özelliğin en yüksek verimlilikle gerçeklenmesi için farklı yöntemler gerektirir. Apache, geniş ortam çeşitliliğini daima modüler tasarımı sayesinde uzlaştırmıştır. Bu tasarım, site yöneticilerine, sunucularında bulunmasını istedikleri özellikleri derleme sırasında veya çalışma anında gerekli modülleri yüklemek suretiyle seçebilme imkanı verir.
Apache 2.0, bu modüler tasarımı sunucunun en temel işlevlerine kadar indirmiştir. Sunucu, Çok Süreçlilik Modülleri adı verilen ve makine üzerindeki ağ portlarının bağlanmasından, isteklerin kabul edilmesinden ve bu istekleri yanıtlayacak çocuklara dağıtmaktan sorumlu olan modüllerin seçimine imkan verecek bir yapılanma ile gelir.
Sunucunun modüler tasarımının bu seviyede genişletilmesi iki önemli yarar sağlar:
- Apache geniş çeşitlilikteki işletim sistemlerini daha temiz ve daha
verimli bir şekilde destekleyebilmektedir. Özellikle,
mpm_winnt
modülü, Apache 1.3’te kullanılan POSIX katmanının yerine işletim sistemine özgü özellikleri kullanabildiğinden, Apache HTTP Sunucusunun Windows sürümü artık çok daha verimli bir duruma gelmiştir. Aynı fayda özelleştirilmiş MPM’lerle diğer işletim sistemlerine de sağlanmıştır. - Sunucu, belli bir sitenin ihtiyaçlarına uygun olarak daha iyi
kişiselleştirilebilmektedir. Örneğin, eski yazılım ile uyumluluk ve
kararlılığa önem veren siteler
prefork
modülünü kullanabilirken, daha geniş ölçeklenebilirlik gerektiren sitelerworker
gibi evreli bir MPM modülünü seçebilmektedir. Ek olarak, farklı konakların farklı kullanıcı kimlikleri ile sunulması gibi özel oluşumlar da (perchild
) sağlanabilmektedir.
Kullanıcı açısından MPM’lerin diğer Apache modüllerinden görünüşte bir farkı yoktur. Asıl fark sunucuya yüklenebilecek azami MPM modülü sayısının bir ve yalnız bir olarak sınırlanmış olmasıdır. Mevcut MPM modülleri modül dizini sayfasında listelenmiştir..
MPM Seçimi
MPM’ler paket yapılandırması sırasında seçilmeli ve sunucu içinde derlenmelidir. Derleyiciler evrelerin kullanılacağını bildikleri takdirde çoğu işlevi evreleri kullanacak şekilde en iyileyebilmektedir.
Kullanmak istediğiniz MPM’yi kendiniz seçmek istediğiniz takdirde
configure
betiğini
--with-mpm=AD
seçeneği ile kullanınız. Burada
AD istenen MPM’nin adıdır.
Sunucu derlendikten sonra hangi MPM’nin seçilmiş olduğunu ./httpd
-l
komutuyla saptamak mümkündür. Bu komut, MPM de dahil omak
üzere sunucuyla birlikte derlenmiş tüm modülleri listeleyecektir.
Öntanımlı MPM’ler
Aşağıdaki tabloda çeşitli işletim sistemlerinde öntanımlı olan MPM’ler listelenmiştir. Derleme sırasında başka bir seçim yapmadığınız takdirde bu işletim sistemlerinde bu MPM’ler seçilmiş olacaktır.
BeOS | beos |
Netware | mpm_netware |
OS/2 | mpmt_os2 |
Unix | prefork |
Windows | mpm_winnt |