TIME-WAIT 快速回收

有些时候我们在服务器上发现大量TIME-WAIT连接,多达上万,通过修改内核参数使系统能够快速回收time-wait                         {此文章只作为自己使用,请勿喷}

查看TCP连接情况:

[root@centos ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LAST_ACK 56
SYN_RECV 77
ESTABLISHED 11213
FIN_WAIT1 4013
FIN_WAIT2 1638
CLOSING 3
TIME_WAIT 12261

 

修改内核参数,快速回收time_wait sockets:

[root@centos ~]# echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
                       # 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
[root@centos ~]# echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
                       # 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
[root@centos ~]# sysctl -p
修改完成后再看TCP连接状况,time-wait连接明显减少,感觉访问Apache都快了很多。

[root@centos ~]#  netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LAST_ACK 26
SYN_RECV 225
ESTABLISHED 9228
FIN_WAIT1 4002
FIN_WAIT2 611
CLOSING 2
TIME_WAIT 415

   

 

你可能感兴趣的:(其他)