TIME WAIT狀態全是3306解決辦法

2022-03-21 10:58:08 字數 1234 閱讀 6779

剛吃完晚飯,手機簡訊一直響個不停,開啟一看全是告警資訊,立即開啟電腦檢視,發現很多網頁很不穩定  一會能開啟,一會打不開

登入伺服器檢視負載情況,cpu、記憶體 、磁碟io 負載都不高,檢視日誌發現nginx有大量的502錯誤,首先懷疑是nginx呼叫後端的php程

序出問題了。為了不影響業務,我先嘗試了重啟程式,重啟之後重新整理了頁面發現還是時好時壞,php日誌和系統日誌都沒報什麼錯誤,

就ngxinx日誌一直在刷502錯誤,檢視了tcp的鏈結數,使用netstat -na | awk '/^tcp/ end '檢視了各個

狀態的數量,呵呵。。。。。,感覺不對了,怎麼time_wait狀態的怎麼有3282個,等等看下到底是什麼鬼占用的,發現都是連線mysql

資料庫的埠,一定是什麼原因導致程式沒有正常關閉。占用了大量資源,導致後面的請求一直處於排隊超時

90%的time_wait都是連線3306埠

不對啊,之前對核心引數已經做過一次調優,再次確認配置檔案,發現沒有加超時時間限制,

net.ipv4.tcp_fin_timeout = 30
vi /etc/sysctl.conf

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= 30修改系統預設的timeout時間

/sbin/sysctl -p

十幾秒鐘過後,再次檢視連線數,已經降下去了。

再次訪問**都很穩定了。

TIME WAIT狀態釋疑

一 現象 登陸伺服器的時候輸入netstat natup 發現存在大量time wait狀態的連線 tcp 0 0 127.0.0.1 3306 127.0.0.1 41378 time wait tcp 0 0 127.0.0.1 3306 127.0.0.1 41379 time wait tc...

TIME WAIT狀態的意義

客戶端與伺服器端建立tcp ip連線後關閉socket後,伺服器端連線的埠 狀態為time wait 是不是所有執行主動關閉的socket都會進入time wait狀態呢?有沒有什麼情況使主動關閉的socket直接進入closed狀態呢?主動關閉的一方在傳送最後乙個ack 後 就會進入time wa...

TIME WAIT和CLOSE WAIT狀態區別

在伺服器的日常維護過程中,會經常用到下面的命令 plain view plain copy print netstat n awk tcp end netstat n awk tcp end 它會顯示例如下面的資訊 time wait 814 close wait 1 fin wait1 1 est...