gpt4 book ai didi

java - TCP 连接比 ping 花费 X100 更长的时间

转载 作者:可可西里 更新时间:2023-11-01 02:53:05 27 4
gpt4 key购买 nike

我在机器 A 上有一个 java 进程通过 TCP 与机器 B 上的 Tomcat 通信。 TCP 连接(只是 syn-syn/ack 交换)始终需要 100 毫秒的数量级,而 ping 请求需要 1 毫秒(服务位于同一个 LAN 上)。

  1. 什么会导致建立 TCP 连接的延迟增加?
  2. 如何优化它?

注意:

  • 这还不是 3 次握手,我只测量 syn/syn-ack 交换。
  • 服务器是一台非常强大的机器,完全没有负载。
  • 连接请求是针对 IP 而不是主机名,因此不涉及 DNS 查找。事实上,这无关紧要,因为我正在测量 SYN 离开机器 A 的时间。

最佳答案

看来问题不在客户端或服务器本身。我在客户端和服务器上进行了两次数据包转储:

  1. 客户端看到 SYN 和收到 SYN/ACK 之间有 100-150 毫秒的时间差。
  2. 服务器看到接收 SYN 和发送 SYN/ACK 之间只有 20 毫秒的时间差。

因此,问题一定出在某个中间层(路由器/防火墙/诸如此类)。

关于java - TCP 连接比 ping 花费 X100 更长的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1858519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com