Çok Süreçlilik Modülleri (MPM’ler) - Apache HTTP Sunucusu

Apache Server 2.0

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.

top

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 siteler worker 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..

top

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.

top

Ö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.

BeOSbeos
Netwarempm_netware
OS/2mpmt_os2
Unixprefork
Windowsmpm_winnt