我最近不得不迁移由负载均衡器和三个后端组成的基础架构。每个后端均使用apache2进行设置,以处理HTTP / HTTPs请求,并将其通过AJP协议转发到tomcat服务器。
我不了解的内容出现在apache2中。如果查看服务器状态页面,我会看到一堆workers处于读取状态,该请求为NULL请求。 在达到apache2的Timeout之后,工作线程被杀死,并且没有超时错误(408)发送到客户端,这很有意义,因为客户端甚至没有发出请求。.
这好像是插座未正确关闭或类似的东西,但我不确定。我们没有在apache2.2上经历过,现在我们正在使用apache2.4。该连接仅在apache中不会出现在tomcat中。
可以通过较低的“超时”值来缓解这种情况,但是我想知道这是否是社区中众所周知的,具有简单解决方案的东西,或者是否有方法可以正确解决此问题。
配置: Apache / 2.4.18(Ubuntu)。 mod_jk / 1.2.43。 Tomcat的。 IPVS和Keepalived。
谢谢
保罗。
答案 0 :(得分:0)
找到了我的答案。一种方法是使用mod_qos通过要求最低数据速率来拒绝半开连接。