检测input域名和页面加载之间的延迟是什么原因

input域名后,内容开始显示之前,我的网站需要很长时间。
我认为这与DNSparsing或networking有关。
如何解决这个问题? 我从哪里开始,我需要什么工具? 我知道我需要nslookup和traceroute。 我还需要什么?

首先,通过Forefox的Firebug扩展的帮助,获得页面加载时发生的情况的高级视图。 我将向您显示网页每个组件加载的确切时间。 这将为您提供调查的第一条线索。

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

如果build立到网站的TCP连接是一个问题,你可以先试着去ping它。 如果往返时间tcptraceroute ,则可能需要尝试使用TCP数据包的端口80上的tcptraceroute ,而不是使用UDP(或ICMP)(如默认跟踪路由)来查看数据包延迟的位置。 使用TCP会更忠实地重现您的数据包在中间networking上的处理方式,一些提供商可能会限制UDPstream量(并且完全过滤ICMP,或者实际上给予高优先级,然后您不会看到TCP速度较慢)。

如果DNSparsing时间短,并且RTT也到服务器,它可能有容量问题…

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

一个非常好的工具是Wireshark。

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

在深入研究networking和数据包嗅探之前,确保它不是特定于浏览器的,安装全新的Chrome浏览器并查看它是如何工作的。 然后确保它不是特定于机器的,在同一networking上的其他机器上尝试。 然后确保它不是networking特定的,从Wi-Fi咖啡厅或朋友的房子尝试。

如果还是缓慢的话,Moriarty教授和Willam教授可以深入挖掘一些地方。 这是一个很长的表格的大页面吗? 插件的? IFRAMES? 很多的JavaScript?

请告诉我们域名,然后我们可以testing权威DNS的速度。 这里有两个因素:

  1. DNS服务器的地理位置,影响networking延迟
  2. 服务器响应时间

大多数权威服务器应该能够在几毫秒内给出答案,所以在很多情况下,networking延迟将比DNS服务器容量更重要。

如果DNS服务器本身连接良好,那么不仅networking服务器有多快,而且网页布局也会如此。

一些布局方法(特定的表,ISTR)给浏览器带来困难,因为它们阻止浏览器渲染页面直到大部分内容被下载。

Moriarty提出的Firebug扩展对于查看DNS和HTTP请求是一个很好的build议,但我不认为它会解决页面布局不佳的潜在问题。

事实上,是什么让你觉得这是DNS相关?
你应该回答以下问题:
– 什么是硬件性能? 你有硬件瓶颈(即穷人的性能)?
– 你的apacheconfiguration是否优化? 请参阅最大客户端,每个孩子的请求,保持活跃。
– 是PHP /等。 代码优化?

使用ab对您的apacheconfiguration进行基准testing。
观察硬件利用率(cpu,hdd)。
如果是这种情况,请使用负载均衡器(HAproxy)并使用多个Web服务器。