查看tcp 队列

查看队列溢出

netstat -s | egrep "listen|LISTEN"
    ;全连接队列溢出次数:
    41696 times the listen queue of a socket overflowed
    ;半连接队列溢出次数:
    41696 SYNs to LISTEN sockets dropped

查看队列使用情况

 ss -lnt
全连接队列当前使用量 监听端口上全连接队列最大大小
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 512 *:8765 *:*

对于高并发的短连接应用来说,在没有及时调用accept进行处理时,会导致accept queue队列满。

在队列满的情况下,内核参数/proc/sys/net/ipv4/tcp_abort_on_overflow默认是0,操作系统不会给连接回复RST,而是默默的将ACK丢弃。会导致server对第二个包SYN+ACK进行重传,连接也无法建立。

参考:记一次线上Linux网卡丢包问题排查

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.