apache2.X 版本工作模式,以及各自工作原理

工作模式爲:preforkworker

prefork:多進程,每個進程產生子進程

worker:多進程,每個進程生成多個線程

工作原理:

prefork 的工作原理是,控制進程在最初建立―StartServers‖個子進程後,爲了滿足MinSpareServers 設置的需要創建一個進程,等待一秒鐘,繼續創建兩個,再等待一秒鐘,繼續創建四個……如此按指數級增加創建的進程數,最多達到每秒32 個,直到滿足MinSpareServers 設置的值爲止。這就是預派生(prefork)的由來。這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷以增加性能。

worker 2.0 版中全新的支持多線程和多進程混合模型的MPM。由於使用線程來處理,所以可以處理相對海量的請求,而系統資源的開銷要小於基於進程的服務器。但是,worker 也使用了多進程,每個進程又生成多個線程,以獲得基於進程服務器的穩定性。這MPM 的工作方式將是Apache 2.0 的發展趨勢。

可以通過命令httpd -l 可以查看apache 當前的模塊,如果帶有worker.c 就是工作在worker模式下,如果有prefork.c 就是工作在prefork.c 的模式下。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章