我目前遇到了一个非常奇怪的问题。
我的 apache (prefork - 2.2.15) 正在达到 MaxClients 限制,因此不再响应请求。
服务器状态显示大量请求处于W
“发送回复”状态,但 SS 值相当高
这个 Apache Childs 会随着时间的推移而增加,但永远不会离开这个状态(直到我们正常重新启动 apache)
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
...
60-0 1383 0/111/300 W 3.71 3866 0 0.0 0.30 2.71 10.20.0.1 www.domain.com GET /a.html
61-0 1026 0/160/166 W 3.87 4593 0 0.0 1.35 1.35 10.20.0.1 www.domain.com GET /b.html
62-0 1338 0/21/21 W 3.59 4171 0 0.0 5.12 5.12 10.20.0.1 www.domain.com GET /c.html
...
这是不同的请求,我看不出这个 (php) 页面上有什么问题。总体而言,这个 (unix) 服务器的负载很低。
我的问题是,这些请求(似乎仍在“运行”)是否应该在一段时间后终止?哪些超时负责处理这种情况?希望您能给我一些提示 ;-)
全面的
答案1
您的 Apache 状态未显示任何 PHP 脚本,但如果您确实正在运行 PHP,请查看Apache 进程挂起并达到 MaxClients