用Apache做負載均衡時HTTP長連接每5分鐘斷線

Apache 被常用來做Java應用系統的負載均衡軟件,Tomcat、Websphere、Weblogic等都有相應的插件支持Apache集成負載均衡。但是最 近遇到這樣的問題,對于大數據量的長HTTP連接的業務每過5分鐘就斷線了,而且每5分鐘就重發同一個http請求到應用服務器。
Apache的httpd.conf有下列兩個配置參數,類似地Array、F5等負載均衡硬件也應該有這些配置:
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

這兩個參數會導致那些HTTP長連接,如對大數據量操作的請求每過300秒就會斷線,并且會每300秒重試發送請求給Weblogic等應用服務器,導致應用異常。
雖然應用程序應該盡量避免每次http請求別太長,但是萬一有這樣的業務,那么只能調整Timeout參數。