【问题标题】:TCP handshake latencyTCP 握手延迟
【发布时间】:2010-08-04 20:36:25
【问题描述】:

我在 100 Gb/s LAN 上有 2 台机器,它们通过 TCP 相互通信。
当我执行从客户端到服务器的跟踪或 ping 时,即使是大 ping,我也会在不到 1 毫秒内得到答案。
但是,当我在客户端嗅探 TCP 数据包时,我看到 40ms 从它发送 3 次握手的第一条消息到它收到来自服务器。
服务器专用于此客户端,不处理其他任何事情。

这合理吗?我希望它会快得多。

【问题讨论】:

  • 这应该是服务器故障。
  • ping 是 ICMP-> 第 3 层。TCP 是第 4 层。但不确定时间。它应该更接近......即在这种情况下为 5ms。
  • 客户端在 Windows 服务器上,服务器在 Linux 上。

标签: networking tcp latency


【解决方案1】:

设置 TCP_NODELAY 并将几条消息合并为一条就可以了,但消息太小了。

【讨论】: