mod_jk 的 socket_keepalive 配置

mod_jk 的 socket_keepalive 配置

我有带 mod_jk 的 Apache httpd。长时间空闲后,连接被终止,我遇到了这个问题:Apache 停止响应,每个 HTTP 请求都会挂起 15 分钟。我尝试关闭 mod_jk 连接池(使用 DisableReuse),问题就消失了。

Tomcat 文档中写道:

Using this option will have a strong performance penalty for Apache and Tomcat. 
Use this only as a last resort in case of unfixable network problems. 
If a firewall between Apache and Tomcat silently kills idle connections, 
try to use the worker attribute socket_keepalive in combination with 
an appropriate TCP keepalive value in your OS.

我尝试使用socket_keepalive=true,情况有所好转,但有时HTTP请求仍然会挂起15分钟。

因此,似乎没有 socket_keepalive 时 90% 的连接会断开,有 socket_keepalive 时 10% 的连接会断开,有 DisableReuse 时 0% 的连接会断开。

操作系统是 RedHat Enterprise 6.5。什么是合适的 TCP keepalive 值?以及在我的操作系统中应如何配置它才能使 socket_keepalive 正常工作?

相关内容