我试图了解我们的 Apache 2.2 error_log 中的以下消息发生了什么:
Wed May 18 21:03:29 2011] [error] [client 172.20.10.10] (70007)The timeout specified has expired: proxy: error reading status line from remote server super-load1-ga.test.com, referer: https://tester2.test.com/boom/ga/inside.as磷
我们正在使用 mod_proxy 运行 Apache 2.2。这个 Apache 是否超时了与其在 httpd.conf 中的 5 分钟超时值相关的请求?(意味着它在 5 分钟内没有收到来自远程服务器的响应。)或者这只是来自远程服务器的响应,说它无法处理连接?
在我看到这个错误的时候,Apache 很快用完了它的 MaxClients。
代理条目的快速示例:
ProxyPass /boom/ga https://super-load1-ga.test.com
ProxyPassReverse /boom/ga https://super-load1-ga.test.com
Run Code Online (Sandbox Code Playgroud)
小智 35
您在ProxyPass指令中增加超时:
ProxyPass /boom/ga https://super-load1-ga.test.com connectiontimeout=300 timeout=300
Run Code Online (Sandbox Code Playgroud)
超时值以秒为单位。
听起来您的服务器https://super-load1-ga.example.com响应时间过长。
在这种情况下,如果它只是坐在那里,那么 Apache 进程将等待它。该进程基本上被阻止,即不能做任何其他事情。如果您没有足够快地超时,您将耗尽 Apache 进程并点击 MaxClients,这似乎都有意义。
您应该在 super-load1-ga.test.com 站点上登录以查看请求需要多长时间,它们肯定需要一段时间。
您可能会缩短 ProxyPass 连接的超时时间
http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers
| 归档时间: |
|
| 查看次数: |
157962 次 |
| 最近记录: |