美文网首页
又遇TIMEWAIT more than

又遇TIMEWAIT more than

作者: 别谈以后Axy | 来源:发表于2019-08-15 14:42 被阅读0次
引入:

TIMEWAIT 连接数more than > 50000 报警楼!!!!
截图截取部分

image.png
现象:

非高峰阶段数据

[root@hotel01-162 ~]# netstat  -an|awk -F ' ' '{print $NF}'|sort|uniq -c|sort -rn|more
 37607 TIME_WAIT
  2307 ESTABLISHED

我就想知道大多数time_wait都是和谁交互的,netstat一查果不其然是3306端口,其实和数据库没什么关系,我们程序是有回收机制的,那就是系统回收参数是否有问题。

[root@hotel01-162 ~]# netstat  -an|grep -i time_wait|awk -F ' ' '{print $5}'|sort|uniq -c|sort -rn|more
  20866 172.xx.32.xx:3306
   3794 39.xx.14.xx:80
   1067 113.xx.86.xx:5039
   1051 172.xx.14.xx:6379
    342 113.xx.61.xx:5032
    101 42.xx.248.xx:5032
    101 36.xx.78.xx:5039
     99 116.xx.81.xx:443
     56 61.xx.14.xx:5039

数量确实有些异常,这个机器到底怎么了呢?之前写过一篇关于TIME_WAIT的介绍文章可以参考了解“你好,TIME_WAIT

解决:

参考“你好,TIME_WAIT后基本上也能知道大概哪些参数是可以调整的,入手查看修改

  • 参数介绍
    net.ipv4.tcp_tw_recycle 是否开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
    net.ipv4.tcp_fin_timeout 对于本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间(秒)。对方可能会断开连接或一直不结束连接或不可预料的进程死亡默认是60s,可以调整为30s
    net.ipv4.tcp_tw_reuse是否允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
[root@hotel01-162 ~]# vim /etc/sysctl.conf
net.ipv4.tcp_tw_recycle = 1  #添加
net.ipv4.tcp_fin_timeout = 30 #添加
net.ipv4.tcp_tw_reuse = 1 #添加
[root@hotel01-162 ~]# sysctl  -p  #使配置文件生效

相关文章

网友评论

      本文标题:又遇TIMEWAIT more than

      本文链接:https://www.haomeiwen.com/subject/bbdbjctx.html