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