Linux缓存配置提升网络传输速度
一、原理与快速估算
二、关键内核参数与建议值
| 参数 | 作用 | 示例值 | 说明 |
|---|---|---|---|
| net.core.rmem_default | 全协议接收缓存默认 | 12582912 | 约 12 MB |
| net.core.wmem_default | 全协议发送缓存默认 | 12582912 | 约 12 MB |
| net.core.rmem_max | 全协议接收缓存上限 | 12582912 | 应用未显式设 SO_RCVBUF 时生效 |
| net.core.wmem_max | 全协议发送缓存上限 | 12582912 | 应用未显式设 SO_SNDBUF 时生效 |
| net.ipv4.tcp_rmem | TCP 接收缓存(min default max) | 4096 87380 16777216 | 最大值可设到 ≥ BDP(如 16 MB) |
| net.ipv4.tcp_wmem | TCP 发送缓存(min default max) | 4096 65536 16777216 | 最大值可设到 ≥ BDP(如 16 MB) |
| net.ipv4.tcp_mem | TCP 整体内存压力阈值(页) | 依据内存与并发调优 | 让自调节在合理内存范围内伸缩 |
| net.core.netdev_max_backlog | 网卡到内核的接收队列 | 3000–5000 | 突发流量时减少丢包 |
| net.core.somaxconn | 监听队列上限 | 4096 | 高并发建连场景适当增大 |
| net.ipv4.tcp_max_syn_backlog | 半连接队列上限 | 4096 | 抵御短时连接洪峰 |
| net.ipv4.tcp_timestamps / tcp_sack | RTT 测量与选择性确认 | 1 / 1 | 提升高丢包/乱序链路性能 |
三、配置步骤与持久化
四、验证与回退