標籤:time_wait sysctl.conf
同事說系統越來越慢,出現一堆TIME_WAIT,是以前的幾十倍,是否跟這個有關係。
650) this.width=650;" title="time_wait.jpg" alt="wKioL1OnxpGTOCsfAABxelWw8z0399.jpg" src="http://s3.51cto.com/wyfs02/M02/30/6C/wKioL1OnxpGTOCsfAABxelWw8z0399.jpg" />
上去看看什麼情況。
[[email protected] ~]$ netstat -ntal #一堆TIME_WAIT沒釋放,幾乎由程式本身發起。tcp 0 0 ::ffff:127.0.0.1:60110 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60303 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60329 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60088 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60044 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60359 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60132 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60306 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60061 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60101 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60083 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60243 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60035 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60080 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60198 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60151 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60003 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60070 ::ffff:127.0.0.1:28080 TIME_WAIT tcp 0 0 ::ffff:127.0.0.1:60189 ::ffff:127.0.0.1:28080 TIME_WAIT[[email protected] ~]$ netstat -ntal |awk ‘{print $6}‘|sort |uniq -c |sort -nr 10558 TIME_WAIT #這個數量多的不太正常。 23 ESTABLISHED #這裡串連數少是做了緩衝,命中率達98%以上,很少穿透進來。 [[email protected] ~]$ cat /etc/issue #作業系統版本不一樣,核心參數也有些變化。CentOS release 6.3 (Final)Kernel \r on an \m
/etc/sysctl.conf 設定檔末尾添加如下3個參數,然後執行 /sbin/sysctl -p 讓參數生效。
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 = 20 #修改預設的 TIMEOUT 時間。
接著看下TIME_WAIT數量,恢複正常。
[[email protected] ~]$ netstat -ntal |awk ‘{print $6}‘|sort |uniq -c |sort -nr 54 TIME_WAIT 25 ESTABLISHED
現在訪問系統變得非常快。
現將這3個參數加入系統初始化指令碼,但以後程式出現這種情況不易被發現,如何監控值得考慮。
能不動核心參數,最好別動,很多情況下預設已夠用,切忌為了最佳化而最佳化。目前這隻是暫時解決問題,治標不治本。
最後還需聯絡開發一起排查問題原因~
本文出自 “那些花兒” 部落格,請務必保留此出處http://zouquehui.blog.51cto.com/1399114/1430049