1 | netstat -n|awk '/^tcp/{++S[$NF]}END{for (a in S) print a,S[a]}' #得到当前服务器的所有TCP连接数状态 |
修改/etc/sysctl.conf文件参数1
2
3
4vim /etc/sysctl.conf
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时间
TIME_WAIT 的默认时间是 2倍的 MLS,即 240 秒,最低为 30 秒,最高为 300 秒。MLS 是 TCP 片在网上的最长存活时间。TIME_WAIT的主要作用是保证关闭的TCP端口不立即被使用。因为当网络存在延迟时,可能当某个端口被关闭后,网络中还有一些重传的TCP片在发向这个端口,如果这个端口立即建立新的TCP连接,则可能会有影响。所以使用2倍的MSL时间来限制这个端口立即被使用。