linux timewait 7万多,linux time wait过多优化

在工作中,经常遇到无法连接问题,而产生这个问题的原因有很多种。

其中一种原因便是,本地的网络连接数达到上线了。

通常我们通过netstat 来查看服务器网络连接状况。

root@localhost [~] netstat -natp | more

Active Internet connections (servers and established)

Proto Recv-Q Send-Q  Local Address     Foreign Address  State       PID/Program name

tcp        0      0  10.0.1.203:42470  137.4.17.168:80  LISTEN      8361/nginx

tcp        0      0  10.0.1.203:39558  137.4.17.168:80  TIME_WAIT   -

tcp        0      0  10.0.1.203:42821  137.4.17.168:80  TIME_WAIT   -

tcp        0      0  10.0.1.203:38870  137.4.17.168:80  TIME_WAIT   -

tcp        0      0  10.0.1.203:54631  137.4.17.168:80  ESTABLISHED 5531/ftp

当我们运行的程序,网络请求没有很好的close释放时,就会导致大量的TIME_WAIT。

具体的修复办法是通过调整内核参数解决,编辑文件/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,netstat参数生效。

net.ipv4.tcp_syncookies

是否开启syncookies,默认为0,表示关闭。

当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。

net.ipv4.tcp_tw_reuse

连接是否允许重用,默认为0,表示关闭。

允许将TIME-WAIT sockets重新用于新的TCP连接,可以提高连接数的利用。

net.ipv4.tcp_tw_recycle

是否开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.tcp_fin_timeout

系統默认的TIMEOUT时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值