首页/网络/网络排障速查/接收窗口与缓冲排查(不做玄学调参)

接收窗口与缓冲排查(不做玄学调参)

吞吐上不去先看窗口:ss -i 的 rwnd/wscale 与内核 rmem/wmem 决定了在途数据上限;定位清楚再改参数,避免无脑调优。

网络排障速查网络更新于 2026-10-12

查看与调整

查看与调整
ss -tni state established '( dport = :443 )' | head -20
sysctl net.ipv4.tcp_window_scaling net.ipv4.tcp_rmem net.ipv4.tcp_wmem
cat /proc/net/sockstat | head -3
# 临时验证(谨慎,生产先评估):
sysctl -w net.ipv4.tcp_rmem='4096 131072 16777216'
看什么ss -i 中 rwnd 长期贴住上限 → 应用读得慢或缓冲不足
wscale窗口缩放因子,为 0 时窗口被限制在 64KB
配套接收侧调 rmem、发送侧看 wmem 与 cwnd
注意内核自动调优通常够用,先确认真实瓶颈再动参数
『接收窗口长期很小』往往不是内核参数问题,而是应用读数据慢(零窗口那一条):先确认应用侧消费速率。

易错点

  • 照抄网上的『万能内核参数』:不同负载下的最优值完全不同
  • 忽略应用读取慢这一根本原因,只调内核参数

数据来源与参考

  • RFC 7323:窗口缩放选项
  • Linux 内核文档:tcp_rmem/tcp_wmem

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌