这是一个非常天真的问题,我猜。 我经常需要弄清楚,如果一个networking应用程序的问题,或者它只是一个networking问题 – 丢失数据包或在你的老板在机场和networking服务器上的一个蹩脚的无线连接之间的任何一点缓慢的连接,或CDN和networking服务器或MySQL和networking服务器,或memcached框…你明白了。 另外,你怎么知道它是否是DNS服务器?
你们中的一些人错过了这一点。 这不是测量Web应用程序性能的问题。 这是关于衡量作为Web应用性能组件的networking性能的一个问题。
设置跟踪(也许可以查询string),显示代码的大部分时间花费的时间和整个服务器的时间。 如果服务器在0.2秒内创build页面,并且需要10秒钟才能加载,则知道它是networking或用户的浏览器。
您还可以使用Firebug中的Net选项卡或Fiddler中的时间轴视图来查看单个组件的下降时间和时间。
要查看是否是DNS服务器,您可以尝试绕过DNS服务器。 您可以通过将相关的主机名添加到您的主机文件来实现。 如果在主机文件中有地址,则Web服务器似乎响应速度会更快,然后再进一步调查DNS。 如果现场performance仍然糟糕,这个问题很可能在其他地方。
更先进; 您也可以直接用nslookup或dig查询DNS。 请确保您直接查询您的网站域的权威DNS服务器,以查看它们的响应时间,而不是本地DNS服务器的响应时间,该响应时间可能具有条目的caching副本。
最好的方法是将networking性能与已知良好连接的网站进行基准比较。 一旦你build立起来了,你就可以开始一个相当直接的过程来确定你的特定客户端Web应用程序问题的延迟的原因。
我build议的基线等待时间将是pingdom.com – 10美元/月可以让你坚如磐石(我一直在使用它们过去六个月 – 他们报告的每一个问题都是真实的)来自互联网上多个位置的延迟分析,以及监测/通知网站下降问题。
对您的要求特别重要的是,他们在美国以及国际上的多个地点build立了您的网站绩效的审核日志。 这可以certificate是有用的,如果你有一个短暂的问题,你希望回顾历史。
能够提供你的老板(谁是你的目标受众在这个问题上)来自十二个不同地点的平均延迟graphics为识别客户端问题(WiFi,DNS,笔记本电脑问题)与网站的问题提供了坚实的基础基本的性能和连接到互联网。
DNS服务器问题当然可以通过让客户端在本地/ etc / hosts中放置相应的主机名 – > IP映射(或者在Windows的情况下,C:\ windows \ system32 \ drivers \ etc \主机)文件 – 如果在configuration了适当的/ etc / hosts文件时问题消失,则说明parsing链(本地parsing器,链中的第一个DNS服务器或规范)存在问题,
不能伤害到执行从多个地点的实际负载testing。 运行本地负载testing,然后从数据中心之外的各个位置运行一个。 当地的testing应该给你一个很好的局域网/当地条件的基线。 然后你可以把它与你从外部得到的结果进行比较,你可以看到你在networking端遇到了什么样的损失。 显然,外部testing将会有更高的加载时间,但是您必须确定在该领域中可以接受的东西。
除了其他推荐之外,我还喜欢使用Fiddler来查看单个请求的持续时间以及使用多less带宽。 它从客户端运行,所以它显示了每个请求从这个持久存储中获得的时间。
另外,请尝试YSlow,一个伟大的Firebug插件:
对我来说,您需要了解每个进程的networking连接,每个套接字连接的通信量,每个套接字的响应时间以及可视化数据的方法。
appfirst.com已经为我们工作。