检测导致输入域名和加载页面之间延迟的原因

检测导致输入域名和加载页面之间延迟的原因

我的网站在输入域名后需要很长时间才能显示内容。
我认为这与 DNS 解析或网络有关。
我该如何解决此问题?我从哪里开始,需要哪些工具?我知道我需要 nslookup 和 traceroute。我还需要什么?

答案1

首先,借助萤火虫Forefox 的扩展。我将向您展示网页每个组件的加载时间。这将为您提供第一个线索,让您知道到底要调查什么。

如果确实是 DNS 问题,那么调试 DNS 最强大的工具之一就是dig。使用该+trace选项,它将向您显示查找域所需的所有中间步骤,以及每个步骤的查找时间。

如果与网站建立 TCP 连接存在问题,您可以先尝试建立ping连接。如果往返时间很长,您可能需要尝试tcptraceroute使用 TCP 数据包而不是 UDP(或 ICMP)的端口 80(如默认的跟踪路由),以查看数据包延迟的位置。使用 TCP 可以更忠实地再现您的数据包在中间网络上的处理,一些提供商可能会限制 UDP 流量(并完全过滤 ICMP - 或者实际上赋予它高优先级,然后您就不会看到 TCP 速度变慢了)。

如果DNS解析时间短,并且到服务器的RTT太短,则可能存在容量问题......

答案2

您需要查看计算机、DNS 服务器和 Web 主机之间来回传输的不同网络数据包的时间。如果使用代理服务器,则需要检查该流量。

Wireshark 是一个非常好的工具。

比较 DNS 查找、响应、Web 服务器 (HTTP) 请求和 Web 服务器响应之间的时间。典型的网页将包含许多单独的部分,每个部分都是来自您的计算机的请求和服务器的响应。从另一台计算机/网络检查同一页面以查看差异。请记住在测试前清除 DNS 和浏览器缓存。

答案3

在深入研究网络和数据包嗅探等之前,请确保它不是特定于浏览器的,安装一个全新的 Chrome 副本并查看它的表现如何。然后确保它不是特定于机器的,在同一网络上的其他机器上尝试。然后确保它不是特定于网络的,在有无线网络的咖啡馆或朋友家里尝试。

如果速度还是很慢,Moriarty 教授和 Willam 可以深入挖掘一些好地方。是带有长表格的大页面吗?插件?IFRAME?还是大量的 javascript?

答案4

确实,是什么让您认为它与 DNS 有关?
您应该回答自己以下问题:
- 硬件性能如何?您是否有硬件瓶颈(即硬盘性能不佳)?
- 您的 apache 配置是否最佳?请参阅最大客户端、每个子级的请求数、保持活动状态。-
php/etc. 代码是否经过优化?

使用 ab 对 Apache 配置进行基准测试。
观察硬件利用率(CPU、HDD)。
如果是这种情况,请使用负载平衡器(HAproxy)并使用多个 Web 服务器。

相关内容