伺服器大量TIME WAIT解決方法

2021-09-01 22:50:21 字數 1374 閱讀 8743

剛看伺服器出現大量的time_wait鏈結

netstat -an

10.76.28.131:3306      10.76.28.131:30443      time_wait

10.76.28.131:3306      10.76.28.13130444      time_wait

192.168.12.13:3306      192.168.12.12:30445      time_wait

192.168.12.13:3306      192.168.12.12:30446      time_wait

192.168.12.13:3306      192.168.12.12:30447      time_wait

192.168.12.13:3306      192.168.12.12:30448      time_wait

192.168.12.13:3306      192.168.12.12:30449      time_wait

192.168.12.13:3306      192.168.12.12:30450      time_wait

192.168.12.13:3306      192.168.12.12:30451      time_wait

192.168.12.13:3306      192.168.12.12:30452      time_wait

技術不太好,趕忙google

看到有很多前輩給出了解決方法

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 30

然後執行 /sbin/sysctl -p 讓剛新增的內容生效

解釋下:

net.ipv4.tcp_syncookies = 1表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉;

net.ipv4.tcp_tw_reuse = 1表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉。

net.ipv4.tcp_fin_timeout修改系統預設的 timeout 時間

再次用netstat -an 檢視

發現大量的time_wait已經不存在了。

減少linux伺服器大量TIME WAIT

將專案部署到linux上後,發現系統有大量的time wait狀態的鏈結,大量time wait狀態的鏈結不能被及時 導致的結果就是系統可用socket被耗盡而無法處理新的請求。對於http協議的短連線請求,應該要防止產生大量的time wait,我們可以通過設定linux網路引數來達到目的,步驟如...

TCP之再談解決伺服器TIMEWAIT過多的問題

這個問題在網上已經有很多人討論過了,再談這個問題,只是根據我處理過的相關業務來談談我的看法。至於什麼是timewait,我想,並不需要多說。timewait狀態本身 和應用層的客戶端或者伺服器是沒有關係的。僅僅是主動關閉的一方,在使用fin ack fin ack四分組正常關閉tcp連線的時候 ti...

web伺服器time wait值過高解決方案

time wait調優過程 1 檢視連線的訪問狀態 注 1 time wait值顯得有點高,太高了會暫用伺服器端口。導致伺服器無法響應。ddos一般都是這種情況 2 併發連線1689正常的值 3 syn recv表示應該沒收到ddoc的 要是受到 的話,這個響應值應該很高。2 檢視一下系統開放多少個...