天天看點

mysql 伺服器發現大量的TIME_WAIT解決辦法

netstat -an |grep  TIME_WAIT |wc

登陸到web伺服器(Linux):

     netstat -ae |grep mysql

通過調整核心參數解決,

vi /etc/sysctl.conf

編輯檔案,加入以下内容:

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 時間

修改之後,再用

[root@db mysql_log]# netstat -ntu |grep TIME_WAIT|wc