Apache 2.2 状态页面(记分牌)上的工作进程数量

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 个字符。

答案1

回答我自己的问题,记分牌似乎是基于ServerLimit而不是MaxClients。Apache 文档并没有明确说明ServerLimitprefork 情况下的默认值,结果是 256。

答案2

apache2 默认(假设您使用apt-get install apache2)在 Debian Squeeze(6.0)中为 Worker MPM 模型进行编译。

如果你需要或者想要 prefork MPM 模型,apt-get install apache2-mpm-prefork

您在问题中提到的配置块是 prefork MPM 模型的条件选项,并不意味着正在使用 prefork MPM。

MPM Prefork,apache2 进程太多了吗?是另一个处理类似问题的 ServerFault 问题。

您可以使用以下方式找到 MPM 模型:apache2 -V或者httpd -V取决于您的分布。

相关内容