Linux
Apache 2.2 狀態頁面上的工作人員數量(記分板)
我從 Debian 儲存庫 (6.0/Squeeze) 安裝了 Apache 2.2。預設情況下,Debian 安裝 prefork 模組並附帶以下(預設)配置:
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule>
查看狀態頁面上的記分牌,我看到有 256 名工人可用:
Current Time: Sunday, 05-Jun-2011 22:50:00 CEST Restart Time: Saturday, 04-Jun-2011 05:49:50 CEST Parent Server Generation: 3 Server uptime: 1 day 17 hours 9 seconds Total accesses: 208737 - Total Traffic: 4.6 GB CPU Usage: u1.08 s.18 cu0 cs0 - .000854% CPU load 1.41 requests/sec - 32.6 kB/second - 23.0 kB/request 1 requests currently being processed, 9 idle workers .______W__.._................................................... ................................................................ ................................................................ ................................................................
我想知道它是否真的是 256,因為請求列表的範圍是從 0 到 149。由於一個(尚未發現的)錯誤,Apache 在 150 個活動伺服器上停止執行,這與
MaxClients
設置相匹配。我想知道 4 行 64 個字元的顯示是否具有誤導性,應該總共顯示 150 個字元。
要回答我自己的問題,記分牌似乎是基於
ServerLimit
而不是MaxClients
. Apache 文件並沒有明確說明ServerLimit
prefork 的預設值,結果是 256。
apt-get install apache2
在為 Worker MPM 模型編譯的 Debian Squeeze (6.0) 中,預設情況下(假設您使用了 apache2 )。如果您需要或想要 prefork MPM 模型,
apt-get install apache2-mpm-prefork
您在問題中提到的配置塊是 prefork MPM 模型的條件選項,並不意味著正在使用 prefork MPM。
MPM Prefork,apache2 程序太多?是另一個處理類似問題的 ServerFault 問題。
您可以通過以下方式找到 MPM 模型:
apache2 -V
或httpd -V
取決於您的發行版。