CentOS backlog 优化技巧
一 核心概念与队列关系
二 关键内核参数与建议值
| 参数 | 作用 | 建议值示例 | 备注 |
|---|---|---|---|
| net.core.somaxconn | 全连接队列上限 | 32768 | 应用 backlog 上限受此约束 |
| net.ipv4.tcp_max_syn_backlog | 半连接队列上限 | 8192(大并发可至 262144) | 视 SYN 洪峰与内存而定 |
| net.ipv4.tcp_syncookies | SYN 洪泛保护 | 1 | 队列满时启用,有轻微 CPU 开销 |
| net.core.netdev_max_backlog | 网卡到内核的包队列 | 32768 | 高 PPS 场景适当放大 |
| net.ipv4.tcp_rmem / wmem | TCP 读写缓冲 | 默认 8388608/8388608,最大 16777216 | 大带宽/长 RTT 可适当放大 |
| net.ipv4.tcp_mem | TCP 内存总控(页) | 4GB 示例:196608 262144 393216;8GB 示例:524288 699050 1048576 | 以内存页(通常 4KB)计 |
| fs.file-max / fs.nr_open | 文件句柄上限 | 依并发连接数设定 | 需与应用 worker 数匹配 |
三 持久化与生效方法
四 监控与验证
五 场景化建议与注意事项