<-
Apache > HTTP Sunucusu > Belgeleme > Modüller

Apache MPM worker 1vc3x

Mevcut Diller:  tr 

Açıklama: Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok süreçlilik modülü.
Durum: MPM
Modül Betimleyici: mpm_worker_module
Kaynak Dosyası: worker.c

Özet 4k5t5c

Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli olabilen melez bir sunucu oluşturur. İstekleri sunmak için evreleri kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı harcayarak daha çok isteğe hizmet sunabilir. Bununla birlikte, herbiri çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli sunucu kadar kararlı olur.

Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her çocuk süreç için konuşlandırılacak evre sayısını belirleyen MaxRequestWorkers yönergesidir.

 Apache!

Konular 3k3v40

Yönergeler 76xu

Bulunan hatalar 296l73

Ayrıca bakınız: 57581q

top

Nasıl çalışır? 4o6v3c

Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur. Her çocuk süreç ThreadsPerChild yönergesinde belirtilen sayıda evre konuşlandırır. Bunlardan ayrı olarak, bir dinleyici evre bağlantıları dinleyip gelenleri işlenmek üzere bu sunucu evrelerinden birine aktarır.

Apache HTTP Sunucusu daima, gelen isteklere hizmet sunmaya hazır yedek veya boştaki sunucu evrelerinden oluşan bir havuzu canlı tutmaya çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk süreçlerin çatallanmasını, dolayısıyla yeni evrelerin konuşlandırılmasını beklemek gerekmez. Başlangıçta çalıştırılacak çocuk süreçlerin sayısı ThreadsPerChild yönergesindeki değere bölünmesi ile elde edilir.

Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu sınır sadece ana sunucu tamamen durdurulup yeniden başlatılarak değiştirilebilir. ThreadsPerChild yönergesindeki değerden büyük veya ona eşit olması gerekir.

Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci bağlantılarını işleme sokmaya çalışan tek bir sunucu evresinden başka fazladan bir çocuk süreç etkin kalabileceği gibi sonlandırılacak süreç sayısının en fazla MaxRequestWorkers olması gerekirse de gerçekte sayı bundan küçük olabilir. Şöyle bir işlemle tek bir çocuk sürecin sonlandırılması iptal edilerek bu gibi durumlara karşı önlem alınabilir:

worker modülünün öntanımlı süreç-evre yapılandırması genelde şöyledir:

ServerLimit         16
StartServers         2
MaxRequestWorkers  150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25

Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache httpd tarafından daha az yetkili bir kullanıcının aidiyetinde çalıştırılırlar. Apache httpd’nin çocuk süreçlerinin kullanıcı ve gruplarını ayarlamak için suexec kullanılmadığı takdirde, bu yönergeler CGI betikleri tarafından miras alınacak yetkili kullanıcı ve grubu da ayarlarlar.

MaxConnectionsPerChild yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı ne kadar sıklıkla yapacağını denetler.

Bu MPM, gürleyen sürü sorunu ortaya çıktığında (genelde çok sayıda dinlenen soket varlığında) gelen bağlantılara erişimi dizgileştirmek için mpm-accept muteksini kullanır. Bu muteksin gerçeklenimle ilgili hususları başarımın arttırılması belgesine bakınız.

Mevcut Diller:  tr 

top

Yorumlar 3y13v

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our s if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.