由於**使用nginx做的反向**he負載均衡。在沒有預設的系統tcp引數情況下回導致大量的time_wait出現。
終端可以下敲入
netstat -n | awk '/^tcp/ end '
time_wait 8535
close_wait 5
fin_wait2 20
established 248
last_ack 14
closed:無連線是活動的或正在進行
listen:伺服器在等待進入呼叫
syn_recv:乙個連線請求已經到達,等待確認
syn_sent:應用已經開始,開啟乙個連線
established:正常資料傳輸狀態
fin_wait1:應用說它已經完成
fin_wait2:另一邊已同意釋放
itmed_wait:等待所有分組死掉
closing:兩邊同時嘗試關閉
time_wait:另一邊已初始化乙個釋放
last_ack:等待所有分組死掉
解決辦法 修改核心引數
vi /etc/sysctl.conf在檢視,已經恢復正常net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse=1 #讓time_wait狀態可以重用,這樣即使time_wait佔滿了所有埠,也不會拒絕新的請求造成障礙 預設是0
net.ipv4.tcp_tw_recycle=1 #讓time_wait盡快** 預設0
net.ipv4.tcp_fin_timeout=30
/sbin/sysctl -p 讓修改生效
time_wait 69
close_wait 4
fin_wait2 15
established 236
last_ack 1
Nginx後端服務大量TIME WAIT的解決
在http1.1協議中,有個 connection 頭,connection有兩個值,close和keep alive,這個頭就相當於客戶端告訴服務端,服務端你執行完成請求之後,是關閉連線還是保持連線,保持連線就意味著在保持連線期間,只能由客戶端主動斷開連線。還有乙個keep alive的頭,設定的...
nginx大量TIME WAIT的解決辦法
1 netstat n awk tcp end 檢視time wait 很大 2 解決此問題需要對sysctl.conf引數進行設定新增以下內容 vim etc sysctl.conf net.ipv4.tcp syncookies 1 net.ipv4.tcp tw reuse 1 讓time w...
tomcat大量time wait問題
在服務端訪問量大的時候檢測到大量的time wait,並且介面請求延時較高。執行 netstat n awk tcp end 這個shell命令的意思是把netstat n 後結果的最後一條放到s陣列中,如果相同則執行 1操作。此時能看到tcp各種狀態下的連線數量,示例 服務端架構是採用nginx ...