第一个网络请求非常慢

第一个网络请求非常慢

我在托管服务提供商的服务器上使用 Ubuntu,第一个网络请求非常慢 - 例如,ping或者从我的 Java 应用程序向远程服务器发出网络请求。我等待 10-12 秒才开始 ping 并从远程服务器获得第一个响应(ping 延迟和响应时间正常 - 预计为毫秒数),接下来的响应与预期一样快。

提供商的管理员告诉我,我必须更新操作系统的版本,因为问题可能是由此引起的 - 这对我来说是最复杂的选择。

我不是系统管理员,因此我不知道诊断问题需要什么信息 - 我很乐意添加所需的信息。

编辑-添加了一些来自 ping 时间测量的输出:

....@vm27884:~$ time ping kms.eu-central-1.amazonaws.com
PING kms.eu-central-1.amazonaws.com (54.239.54.221) 56(84) bytes of data.
64 bytes from kms.eu-central-1.amazonaws.com (54.239.54.221): icmp_seq=1 ttl=230 time=19.3 ms
64 bytes from kms.eu-central-1.amazonaws.com (54.239.54.221): icmp_seq=2 ttl=230 time=19.2 ms
64 bytes from kms.eu-central-1.amazonaws.com (54.239.54.221): icmp_seq=3 ttl=230 time=19.4 ms
^C
--- kms.eu-central-1.amazonaws.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 9031ms
rtt min/avg/max/mdev = 19.261/19.358/19.464/0.083 ms

real    0m17.535s
user    0m0.005s
sys 0m0.002s

答案1

您没有收到前两个 DNS 解析器的响应。请查看您的 /etc/resolv.conf。

默认情况下,Linux 会从上到下遍历名称服务器(非常可重复),并在尝试下一个名称服务器之前有 5 秒的超时时间。如果您很幸运,只需将 resolv.conf 更新为有效的 DNS 服务器即可。如果它们已经是众所周知的 DNS 服务器,如 8.8.8.8(谷歌的 DNS 服务器),那么您需要开始探索您的网络以了解这些请求/响应被丢弃的原因(防火墙规则、路由错误等)。

我怎么能确定这就是问题所在?因为我帮助运营一个网络,在这个网络中,我们会阻止外部 DNS(对于将 DNS 过滤作为第一道防线的公司来说,这种情况有点常见)。任何覆盖 DHCP 提供的 DNS 端点的人都会抱怨 5 秒或 10 秒的延迟。如果您碰巧所在的网络有类似的情况,您需要停止覆盖 DHCP(您的网络管理员更希望如此),或者更新值以指向他们提供/允许的 DNS 服务器。

相关内容