我遇到了一个 apache 的问题,他因为太多的请求而停滞不前。当我查看服务器状态页面时,我可以看到大多数连接都处于“读取请求”状态,但没有完成。当我进行正常重启时,所有“阅读请求”连接都消失了。因为重启不需要很长时间,我相信连接不再使用。
Apache 在一段时间内(> 30 分钟)会填满这些请求。但是当不再使用连接时,我希望有一些超时来终止这些连接,但这不会发生或超时太大。
有谁知道哪个超时应该终止这些连接,还是我在错误的地方搜索?
设置的一些细节:
apache 2.0.55 on HP-UX with mod_jk 1.2.10
大多数处于“读取请求”状态的连接都是通过 mod_jk 连接到 tomcat 后端(客户端 --> HP-UX apache --> Tomcats ),但不是全部。
我知道mod_jk是一个很老的版本,计划很快更新。
但我不怀疑 mod_jk,因为当使用较新的 mod_jk 将连接重定向到另一个 apache,然后将连接重定向到 tomcats(客户端 --> HP-UX apache --> Linux apache --> Tomcats)时,会出现相同的效果。它总是充满“RR”连接的 HP-UX apache。
你的workers.properties 文件内容是什么?你尝试使用socket_timeout吗?
默认情况下,socket_timeout 是无限的。
httpd.conf 中 Apache 的超时值是多少?keepalive 是开还是关?太长的 TimeOut 很容易做你现在看到的事情。