執行 httpd -l 得知我用的 Multi-Processing Modules(MPMs)是什麼

Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

所以我用的 MPMs 是 perfork

1。prefork 使用子程序來提供服務
2。子程序則獨立使用記憶體,且利用檔案與其它子程序溝通
3。比較佔用記憶體, 但相容性及穩定性較佳
4。引用

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

參考:
http://newweb.syups.tp.edu.tw/documents/memo/apache2/apache2.htm
http://diary.tw/tim/506
http://www.camelrichard.org/apache-prefork-vs-worker
http://twntwn.info/blog/ajer001/archives/1793

看了以上這些東西,還是很難理解,需要靠實作來確認自已心中所了解的程度

more /etc/httpd/conf/httpd.conf

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       100
MaxRequestsPerChild  4000
</IfModule>

server-info 資訊

Server Version: Apache/2.0.52 (CentOS)
API Version: 20020903:9
Timeouts: connection: 120    keep-alive: 120
MPM Information: Max Daemons: 100 Threaded: no Forked: yes
Config File: /etc/httpd/conf/httpd.conf
Server Built: Jan 14 2008 08:20:27
Hostname/port: 192.168.1.15:80
MPM Name: Prefork
Server Root: /etc/httpd
Related posts 相關文章
apache httpd 2.4.58 有些安全性更新
More...
Apache 有 path traversal 目錄遍歷的漏洞
More...
CentOS7 透過 systemd 自動讓服務 restart 重啟
More...
用 GoAccess 即時分析 IIS Access Log
More...

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。