首页/数据/Redis 进阶速查/TCP_NODELAY 与 Nagle 延迟
性能与排障129 条

TCP_NODELAY 与 Nagle 延迟

客户端小包连续写可能触发 Nagle 与延迟确认交互,追加约 40ms 量级延迟;多数客户端库默认开启 TCP_NODELAY,自研客户端应显式设置。

Redis 进阶速查数据更新于 2026-10-12
场景小包连续写 + 延迟确认
影响数十毫秒级附加延迟
设置客户端开启 TCP_NODELAY

示例

示例
# 客户端 socket 选项示意:
# setsockopt(TCP_NODELAY, 1)
服务端默认已优化该设置,问题多出在自研客户端侧。

易错点

  • 自研客户端未设 NO_DELAY,偶发固定 40ms 延迟难查
  • 所有小包场景都归因 Nagle,忽略真实排队

数据来源与参考

  • Redis 官方实践:网络选项
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌