Har*_*rry 2 hanging apache-2.2
我运行了一个流量相当高的网络服务器(专用的 Apache/PHP),虽然它大部分时间都运行良好,但它大约每天一次死锁并拒绝任何新连接。重新启动 Apache 可以解决问题。在这次锁定之前,我已经抓住了几次,Apache 状态显示了每个请求的所有 W(发送回复)。http-errors.log 中的最后一个错误是 MaxClients 被命中(这是有道理的,因为没有请求返回)。
你们有什么想法为什么 Apache 请求可能决定永远不会返回,或者对这里可能发生的事情有任何想法?
谢谢!
小智 7
看来您患有可怕的持续性布什综合症(简称 PBS)....这意味着您被太多的 W(发送回复)困住了。幸运的是,有一个非常简单的修复方法。原因可能是您的脚本正在执行一个永远不会完成的冗长查询。查看这篇文章,它解释了如何修复诊断并追踪连接卡在“发送回复”状态的原因http://techmythsworld.blogspot.com/2011/11/solving-httpd-maxclients-and-modstatus.html
简而言之,您需要执行以下操作: 1. 找到卡在 W 中的脚本以及向其发布的任何内容(可能是非常独特的变量导致卡住。
确保您可以通过将导致变量发布到脚本来重新创建这种情况。您将看到从您的 ipaddress 显示的连接将保持在 W 中。
如果您有循环或未结束的数据库查询,请跟踪。
修复脚本。并重新发布变量,您应该看到卡在 W 中的 ipaddress 消失了。
附注。您必须在每次测试时重新启动网络服务器以重置您的连接(命令“service httpd restart”应该执行
归档时间: |
|
查看次数: |
14027 次 |
最近记录: |