TCP连接阻塞的监控和处理

  • 时间:
  • 来源:互联网

                                                                    TCP连接阻塞的监控和处理

那么,什么样的TCP连接属于上述发生阻塞的异常连接呢?

结合线上运维经验,我们整理出符合该类异常的特征如下:

  1. 该连接的Recv_Q的值特别大(超过3M)
  2. 该连接的Recv_Q的值持续上涨,造成堆积(在一定滑动时间窗口内)
  3. 服务端进程已长时间不再处理该连接的请求(超过90秒)

其中Recv_Q的值可以通过netstat或ss系统工具即可进行Recv_Q队列大小的采样,从而进行阀值判断。

netstat 的结果是读取/proc/net/tcp文件而来的.

如何查看一个连接的创建时间

1.nestat -apn | grep xxx查看到对应的连接的进程pid和端口

2. 将上下游端口,转换为16进制xxxa xxxb

3.然后cat /proc/net/tcp | grep -i xxxa | grep -i  xxxb找到该socket连接的inode inodex

4.ls -al /proc/pid/fd | grep inodex即可看见该socket文件的创建时间.

本文链接http://element-ui.cn/news/show-576611.aspx