首页/系统/Linux 内核与性能调优速查/socket 缓冲与带宽延迟积估算
本包目录(357 条)
sysctl 内核参数72 条CPU 与调度60 条内存与 OOM58 条磁盘与 IO32 条
网络栈调优98 条
性能分析工具37 条

socket 缓冲与带宽延迟积估算

高 RTT 链路上单流吞吐受限, 往往是 socket 缓冲小于带宽延迟积; 先估算目标 BDP, 再设置收发缓冲。

BDP 估算

BDP 估算
echo $((125000000 * 20 / 1000))
# 1Gbps 链路、RTT 20ms 时约需 2.5MB 在途数据

确认生效

确认生效
ss -m dst :443
# 查看 rb/tb 与当前排队量; setsockopt 设置值受 rmem_max/wmem_max 约束

易错点

  • setsockopt 传入值内核会自动加倍处理, 与 ss 读数对不上属正常
  • 改 sysctl 只对新连接生效, 老连接需重连验证

数据来源与参考

  • man 7 socket
  • Linux Documentation/networking/ip-sysctl.txt
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌