一切运行正常,然后在MySQL从5.0升级到5.1然后再升级5.5,这有些错误(一些表格前缀搞砸了,一些数据丢失但没什么大不了的),我们有这个新问题突然出现。
据我所知,没有为Apache(httpd.conf),MySQL(my.cnf)或PHP(php.ini)更改配置设置。
我在升级之前检查了Apache日志,但我们根本没有点击MaxClients。
现在我们一直打它(一天9次!),当我们做服务器上的所有网页变得完全无法访问时,需要重新启动Apache - 在我完成重启之前它们似乎再也无法访问虽然我已经准备好了,但我真的不想等待它,看看它是否会出现。
以前我们的MaxClients和ServerLimit设置为1000 - 我将其提高到3000,虽然达到MaxClients的频率似乎已经下降,但它仍然在发生。我们有96.0 GB的RAM,使用率从未超过30 GB,通常要低得多。
我检查了之前和之后的日志,并且机器人爬行活动似乎大致相同。
我想知道是否有其他设置可能已经改变了会导致这种情况发生?或者,如果有人有任何其他想法,我将非常感激。
答案 0 :(得分:0)
我们有一个“PBS”案例:http://techmythsworld.blogspot.com/2011/11/solving-httpd-maxclients-and-modstatus.html
在我们不断击中MaxClients之前,W正在积累。问题可能在某种程度上一直存在,但在升级期间和/或接近升级时配置设置的某些变化会加剧,我不确定。但是,我确信我们通过稍微更改代码来修复它,以便进程在一段时间后死亡,而不是等待一定数量的循环发生。话虽如此,最好还是制作某种脚本来消除那些漏过裂缝的陈旧过程,然后记录它们。如果上述链接出现故障,您将需要通过命令行检查您的进程:
service httpd fullstatus> outputfile.txt
如果你看到W的累积,向下滚动,如果你发现一个或两个脚本的模式占其中大部分,那些(那些)可能是你的罪魁祸首。为确保累积是合法的,您可能需要检查一次,然后在一小时后再检查并查看是否继续。您会注意到W已经不断增加SS(自最近一次请求开始以来的秒数)。