Apache 将并发连接数限制为 150

Apache 将并发连接数限制为 150

Ec2 Ubuntu 服务器运行 apache 和 php。移动应用程序托管在服务器上。应用程序通过 80 端口连接到服务器。问题是 apache 在高峰时段限制为 150 个进程。当 apache 有 150 个进程时,CPU 几乎 100% 空闲。在 Prefork mpm 上将最大客户端数增加到 500。但它仍然限制为 150 个进程。Ps aux 和 newrelic 显示 apache 进程限制为 150 个进程。

答案1

问题是 MaxRequestWorkers 是 150/etc/apache2/mods-enabled/mpm_prefork.conf在 apache conf 上增加值后,它没有变化。现在更改为

<IfModule mpm_prefork_module>
          StartServers                     5
          MinSpareServers           5
          MaxSpareServers          10
          ServerLimit               1200
          MaxRequestWorkers         1200
          MaxConnectionsPerChild    1000 
</IfModule>

-在/etc/apache2/mods-enabled/mpm_prefork.conf现在 Apache 的点击量越来越大。

答案2

可能是ServerLimit变量。它通常不在默认配置文件中,因此您必须添加它。重新启动 Apache 以使其生效(重新加载不起作用)。

我通常会制作这样的块:

<IfModule mpm_prefork_module>
    StartServers          150
    MinSpareServers       150
    MaxSpareServers       150
    MaxClients            150
    Serverlimit           150
    MaxRequestsPerChild   10000
</IfModule>

这会禁用工作者创建/销毁,我认为这毫无意义。

答案3

阅读MPM 模块的 Apache 文档。看来您需要增加 MaxRequestServers 值。

该页面还包含性能调整文档的链接。

相关内容