由于 /etc/hostname 和 /etc/hosts 不匹配,SSH 和 sudo 启动非常慢。在 hosts 文件中添加主机名行后,最初的 2-4 秒延迟不再发生。
一开始,我很惊讶错误配置的 hosts 文件会导致 SSH 和 sudo 延迟。我使用直接 IP 地址通过 SSH 连接到服务器,sudo 似乎不需要主机名查找。然而,我发现它们都在进行反向 DNS 查找。(sudo 还报告说它无法解析主机)
这种错误配置的主机文件会导致哪些其他网络操作变慢?例如,错误配置的主机文件是否会减慢与托管在 Apache Tomcat 服务器和该服务器上托管 Spring 的连接速度?
答案1
任何执行反向 DNS 查找的操作只有在你幸运的情况下才会变慢,其余时间它们会造成严重破坏。Ping 和 traceroute 的行为会很奇怪。如果你正在运行邮件服务器,那么你的邮件很有可能被视为垃圾邮件由 gmail 和其他知名提供商提供。
基本上,您正在损害您的信任评级。
答案2
您的 DNS 服务器在 /etc/resolv.conf 中是否正确?如果正确,这实际上不应该产生任何重大影响。如果您的 DNS 服务器也出现故障,这可能会导致严重的延迟,因为软件需要等待 DNS 查询超时。