nginx大量TIME WAIT的解決辦法

2022-05-27 05:45:09 字數 1020 閱讀 9080

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 ...