首页/网络/抓包与流量分析速查/TCP_NODELAY 与业务行为
TCP 流分析82 条

TCP_NODELAY 与业务行为

TCP_NODELAY 关闭 Nagle:小包立即发出不合并。抓包表现为小数据包紧贴发送、间隔无 ~40ms 台阶;代价是小包数量上升。

用途从抓包观察 Nagle 是否被关闭
对比开启 Nagle:小包合并/等待;关闭:立即小包

观察

观察
同方向小包连续发出(无间隔台阶)→ 倾向 NODELAY
写-读交替出现近似 40ms 间隔 → 可能仍启用 Nagle
数据库/消息队列客户端通常默认 NODELAY;判断业务"慢"前先确认该行为差异。

易错点

  • NODELAY 与延迟 ACK 组合也会造成交互延迟(确认仍可能被延迟)
  • 抓包侧无法直接看到套接字选项,只能从发送节奏推断

数据来源与参考

  • RFC 896(Nagle)
  • Linux socket 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌