如何在Apache上使用mpm_prefork增加5000个并发请求

时间:2017-10-24 13:45:36

标签: centos

我在CentOs服务器上配置了Apache Web服务器。我想用MPM_Prefork增加5000个并发请求。请为此建议最好的Prefork配置。我已经在httpd.conf文件上完成了Prefork配置,但它无法正常工作。

我的Prefork配置:

<IfModule mpm_prefork_module>
    StartServers                5
    MinSpareServers             30
    MaxSpareServers             40
    MaxClients                  5000
    ServerLimit                 20
    MaxRequestsPerChild         500
</IfModule>

    KeepAlive On
MaxKeepAliveRequests            5000
KeepAliveTimeout                5

1 个答案:

答案 0 :(得分:0)

一些建议。

  • MaxRequestsPerChild 如果你的apache稳定,你可以将那个增加到更高的值。这可以防止您的孩子进程经常死亡。我的网站设置为10 000(大容量)。
  • MaxClients (重命名为 MaxRequestsWorkers )设置为5000,但 ServerLimit 为20.因此MaxRequestsWorkers在20处被阻止.ServerLimit是最高的MaxRequestsWorkers将被允许增长。所以把ServerLimit放得更高。
  • 您说您的测试一次显示1000个请求 ServerLimit == 20.所以不要将ServerLimit设置为5000!
  • 如果您预计流量较高,请增加 StartServer ,以便它准备就绪。
  • 当您执行测试时,将负载提升至最大值,然后让它静置一段时间。不要一次尝试5000。
  • 在apache中设置服务器状态。这将允许您查看Apache的状态(工作人员数量,他们正在做什么,......)。如果您看到所有工作人员都忙,但仍未达到5000,请相应地增加值。
  • 并最终意识到5000个并发请求意味着5000个浏览器同时主动请求数据,并且具有开放连接。真实用户有思考时间,阅读时间,因此您的请求比使用负载测试工具更多地错开。