我为客户pipe理一个定制的asp.net web应用程序。 这个客户经常抱怨网站“挂”,并没有完成页面加载。 我从来没有遇到过这种网站的这种行为。 根据他的描述,我认为这个问题可能是他的ISP(Comcast)和networking主机之间的一条糟糕的路线。 任何关于如何最好地诊断他的桌面和服务器之间的丢包的build议?
过去我使用了Smokeping来监视主机之间的延迟和丢失。 它有一个守护进程运行并定期ping你指定的主机。 然后,它会生成很好的图表,显示延迟和丢包趋势。 这应该让你更好地了解这些问题是在特定的时间还是在某些情况下发生的。
另外,我build议mtr通过“香草”ping和traceroute工具。 它将两者结合成一个不错的界面,并且很容易看到是否(以及在哪里)发生丢包。 但是要记住的一点是,中间路由器往往对响应ping和traceroute依赖的ICMP数据包的优先级低。 如果您看到丢包发生在单个中间路由器上,而不是后续路由器上,那么这可能是发生了什么事情。 另一方面,如果数据包被一个路由器丢弃,并且在所有后续路由器上看到相同的丢失,则可能有问题。
查看延迟,数据包丢失,跳数和类似数量
我喜欢ping绘图仪,因为它是超级简单的使用和阅读。 http://www.pingplotter.com/freeware.html
Ping / tracert在运行时只会显示延迟,丢包等。
可能值得尝试一个软件包捕获,并让客户端在问题发生时通知您 – 如果您有足够的磁盘空间让它运行,那么特别有用。 Wireshark( http://www.wireshark.org )很好,它可以告诉你是否有重传和其他讨厌的东西。 Ethereal会告诉你很多其他的东西,比如响应时间,如果这不是一个networking问题,可能会有所帮助。
如果你离开它运行,虽然注意你的磁盘空间。
MTR的一个旧的GPL Windows版本( http://winmtr.sourceforge.net )在NOC中派上了不less几次。 我们要求我们的客户将他们的客户解压缩,运行几百个周期,然后将输出粘贴到电子邮件/票据更新中,然后我们可以将其转发到networking工程。 为了获得最佳效果,如果可能,请在每个方向上使用一个:Web客户端到Web服务器,以及Web服务器回到Web客户端的IP(或下一个跃点)。