Apache出現大量的CLOSE_WAIT狀態連接

一臺運行Apache的Web服務器,前面有Squid,出現大量的CLOSE_WAIT連接,直接佔滿TCP隊列,導致Apache失去響應。一般來說,在一次正常的HTTP連接結束時,按正常的次序應該是服務器先發出FIN信號,客戶端確認,然後客戶端再發出FIN信號,服務端確認。如果客戶端因爲某種原因先於服務端發出了FIN信號,就會導致服務端被動關閉。

-------------------------------------

通過下列Linux內核參數來解決問題:

sysctl -w net.ipv4.tcp_keepalive_time=30
sysctl -w net.ipv4.tcp_keepalive_probes=2
sysctl -w net.ipv4.tcp_keepalive_intvl=2

注意:Linux的內核參數調整的可能有些猛,到底合不合適要注意觀察。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章