CentOS backlog 日志分析实操指南
一 概念与定位
二 从日志快速发现线索
三 深入排查与验证
四 常见现象 日志特征 与处理建议
| 现象 | 日志/队列特征 | 处理建议 |
|---|---|---|
| 新连接被拒绝或超时 | error_log 出现 “accept() failed / too many connections / connection refused”;ss 的 Recv-Q 常接近 Send-Q | 提升应用 listen backlog;同步提高内核 somaxconn;检查 worker 进程/线程数是否不足 |
| 大量半开连接 | 抓包见 SYN 洪泛、SYN-ACK 少;netstat -s 中 TCPListenOverflows 增长 | 提高 tcp_max_syn_backlog;启用/调优 syncookies;排查异常来源(攻击或客户端异常) |
| 性能差导致队列堆积 | CPU/软中断高,ss Recv-Q 持续增长,应用日志出现超时 | 优化应用(长连接复用、减少阻塞、更快 accept/处理);横向扩容或绑定多核 |
| 端口耗尽 | ss -lntp 显示大量连接处于 TIME_WAIT/CLOSE_WAIT | 启用 tcp_tw_reuse/tcp_tw_recycle(视内核版本与场景);缩短长连接空闲超时;优化客户端连接管理 |
| 防火墙/安全组丢包 | 无明显应用错误,但抓包见 SYN 到达而服务无响应 | 检查 firewalld/iptables、云安全组规则与连接跟踪表(conntrack)是否超限 |
五 参数调优与持久化