证据链
证据链
nstat -az | grep -iE 'ListenOverflows|ListenDrops|TCPReqQFullDrop|SyncookiesSent'
sysctl net.core.somaxconn net.ipv4.tcp_max_syn_backlog
ss -lnt 'sport = :80' # LISTEN 行:Recv-Q > Send-Q = accept 队列已溢出
netstat -s | grep -i listen| SYN 队列 | 存放收到 SYN、尚未完成握手(≤tcp_max_syn_backlog) |
|---|---|
| accept 队列 | 已完成握手、等待应用 accept(≤listen backlog 与 somaxconn 的小值) |
| 溢出后果 | 客户端看到超时/重试,服务端可能没有任何日志 |
nginx 的 backlog 默认 511,与 net.core.somaxconn 取小值生效;后端处理慢时先满的是 accept 队列。