是什么造成了Apache 2.2每秒300个连接的限制?

我们有一个在CentOS 5.6上运行的Apache webserver(通过yum安装)。 今天我们有一个预期的新用户涌入 – 但是意外的是,我们似乎已经达到了每秒300次访问的限制 – 我有一个图表(Stack溢出不会让我上传),但它今天显示了三次(当我们的网站几乎停下来)“访问/秒”打300,并停留了一段时间。 当我input当前的数字是292.23,今天的最大值是300.41。

我们在apache进程中运行PHP,并且连接到一个MySQL服务器(不同的物理盒子)。 但是,我们很高兴,MySQL正在响应罚款。

我们已经在默认的256上调了httpd.conf中的限制,但是这对魔术300的数字并没有影响。 我们已经在php.inihttpd.conf文件中search了300,并找不到它。 下面是我们现在使用的preforkconfiguration:

 <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 4000 </IfModule> 

如果任何人有任何线索是什么导致这个300限制,我将不胜感激。

有各种系统性能相关的可能性,但事实上,限制是一个很好的,整数是相当可疑 – 如果瓶颈是CPU或磁盘I,你不会期望这样一个整洁的限制/ O(甚至networking)。 更令人怀疑的是,它是每秒一次 – 如果它是Apache或MySQL的限制,你会期望对并发连接或请求的限制,但每秒 300的限制听起来像别的东西。

networking上的东西是什么? 如果有防火墙,负载平衡器,DDoS缓解系统,或其他L3 +设备,我会捅他们看是否有什么可能导致它。

你知道有什么人超过300 /秒限制看到? (您可能需要自己敲一下网站才能看到会发生什么情况)有没有可能提供线索的日志消息?

进行configuration更改后,您是否正常重启或关机/启动? 如果进行平稳重启,对ServerLimit的更改不会生效。 一个完整的关机和启动是必需的。