剛看伺服器出現大量的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 檢視一下系統開放多少個...