Apache在prefork mode下,一個process同時間只能服務一條connection,而worker mode一個thread只能服務一條connection,他們都是blocking mode,一旦所有的process/thread被block住,就沒辦法再服務新的connection,系統全部都在等待io,CPU使用率相對很低。
Event MPM mode可以解決上述問題。
(題外話,就算是把fd設定成non-blocking,搭配polling (select())的方式,其反應速度仍遠不及event-driven,因為fd數目越多polling的時間就會越久,而且polling也是很浪費CPU的。Event-driven的高效能要在current connection量大時才看得出來,特別是keep-alive的connection。)
不過官方網站寫著event mode目前還在實驗階段:
Warning
This MPM is experimental, so it may or may not work as expected.
編譯與設定可以參考
Configure參數
./configure --with-mpm=event #主要是加這個參數
httpd.conf設定檔
StartServers 1 ServerLimit 1 MaxClients 50 MinSpareThreads 1 MaxSpareThreads 10 ThreadsPerChild 50 MaxRequestsPerChild 0
Benchmark在上面的連結中也有提到。
3F256318
回覆刪除esçort düzce
ödemiş esçort
bafra esçort
esçort bayan batman
demre esçort
sarıçam esçort
karaburun esçort
esçort malatya
esçort sakarya
7BE87F5F
回覆刪除Kilis
Kırklareli
Manisa
Çorum
Maraş
Ardahan
Burdur
Aydın
Muş
86A9E5B2
回覆刪除Bingöl
Tunceli
Niğde
Uşak
Ağrı
Maraş
Bilecik
Bartın
Çanakkale