Linux backlog 合理阈值设置
一 概念与生效机制
二 阈值设定的量化方法
三 关键参数与推荐取值范围
| 参数 | 含义 | 建议范围 | 说明 |
|---|---|---|---|
| net.core.somaxconn | 全连接队列系统上限 | 常见:4096/16384 | 与应用 backlog 取最小值生效 |
| net.ipv4.tcp_max_syn_backlog | 半连接队列上限 | 常见:8192 或更高 | 高并发/受 SYN 洪泛影响时上调 |
| net.core.netdev_max_backlog | 网卡接收队列上限 | 常见:10000 | 防止 NIC 侧丢包,配合队列调优 |
| net.ipv4.tcp_abort_on_overflow | 队列满时的处置 | 0(丢 ACK 重试)/ 1(发 RST) | 便于定位与故障表现不同 |
| net.ipv4.tcp_syncookies | SYN 洪泛保护 | 1(启用) | 队列压力大时启用兜底 |
| 上述为常见起点,需结合业务压测与监控迭代收敛到合适值。 |
四 监控与告警落地
五 快速配置示例