修改httpd.conf文件
IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000
/IfModule>
說明 | 服務器允許配置的進程數(shù)上限 |
---|---|
語法 | ServerLimit number |
默認值 | 參見下面的說明 |
作用域 | server config |
狀態(tài) | MPM |
模塊 | prefork , worker |
對于prefork
MPM,這個指令設置了MaxClients
最大允許配置的數(shù)值。對于worker
MPM,這個指令和ThreadLimit
結合使用設置了MaxClients
最大允許配置的數(shù)值。任何在重啟期間對這個指令的改變都將被忽略,但對MaxClients
的修改卻會生效。
使用這個指令時要特別當心。如果將ServerLimit
設置成一個高出實際需要許多的值,將會有過多的共享內存被分配。如果將ServerLimit
和MaxClients
設置成超過系統(tǒng)的處理能力,Apache可能無法啟動,或者系統(tǒng)將變得不穩(wěn)定。
對于prefork
MPM,只有在你需要將MaxClients
設置成高于默認值256的時候才需要使用這個指令。要將此指令的值保持和MaxClients
一樣。
對于worker
MPM,只有在你需要將MaxClients
和ThreadsPerChild
設置成需要超過默認值16個子進程的時候才需要使用這個指令。不要將該指令的值設置的比MaxClients
和ThreadsPerChild
需要的子進程數(shù)量高。
Apache在編譯時內部有一個硬限制"ServerLimit 20000
"(對于prefork
MPM為"ServerLimit 200000
")。你不能超越這個限制。