一台运行Apache的Web服务器,前面有Squid,出现大量的CLOSE_WAIT链接,直接占满TCP队列,致使Apache失去响应。通常来讲,在一次正常的HTTP链接结束时,按正常的次序应该是服务器先发出FIN信号,客户端确认,而后客户端再发出FIN信号,服务端确认。若是客户端由于某种缘由先于服务端发出了FIN信号,就会致使服务端被动关闭。服务器
-------------------------------------tcp
经过下列Linux内核参数来解决问题:ide
sysctl -w net.ipv4.tcp_keepalive_time=30
sysctl -w net.ipv4.tcp_keepalive_probes=2
sysctl -w net.ipv4.tcp_keepalive_intvl=2ui
注意:Linux的内核参数调整的可能有些猛,到底合不合适要注意观察。队列