![调试网站延迟和超时问题的步骤](https://linux22.com/image/507352/%E8%B0%83%E8%AF%95%E7%BD%91%E7%AB%99%E5%BB%B6%E8%BF%9F%E5%92%8C%E8%B6%85%E6%97%B6%E9%97%AE%E9%A2%98%E7%9A%84%E6%AD%A5%E9%AA%A4.png)
我有一个客户,他在全国各地有多个办事处,所有办事处都通过 WAN 共享同一个 Internet 连接。该客户的某个办事处在使用我的网站时遇到了严重的延迟和超时问题。大多数(但不是全部)延迟都发生在特定的 ASPX 页面上,该页面在填充级联下拉列表(快速表单提交)时会进行多次回发。延迟是零星的,可能在几秒钟到完全超时之间。没有迹象表明超时发生在服务器端。
该客户的 IT 人员在缩小问题范围时遇到了麻烦。由于问题只影响到一位客户的一个位置,因此我相信问题不在我的网站,而是该位置特有的问题。他测量了使用网站时的 ping 时间,发现即使页面超时,ping 时间也没有实际变化。我相信这可能是由某种不喜欢快速表单提交的 Internet 过滤器引起的,但除了直觉之外,我一无所知。
我的问题是我应该告诉 IT 人员注意什么?虽然我并不想为这个问题提供积极的技术支持,但我至少想了解一下发生了什么,并尝试提供一些建议。
谢谢。
答案1
假设已经完成了一些基本工作:
- 确定这是一个问题,然后去重现它。
- 尝试在受影响站点的不同工作站上重现超时。
- 尝试在不同的分支站点重现超时。
您可以使用以下几种方法来调试客户端的超时:
- 使用浏览器调试工具包(firebug/fiddler)来“捕获”超时或错误。
- 设置网络/带宽监控。
- 检查防火墙/过滤器日志并调查 HTTP 选项。
希望这能给你一个起点。
答案2
收集的数据越多越好。我强烈建议获取问题所在网络的跟踪信息,例如远程在其中一台计算机上运行 Wireshark。像这样的完整数据包捕获可以准确显示两个系统之间的网络层发生了什么。
另外,考虑在远程位置设置一个 nagios 实例(或您选择的任何监控工具)。它可以配置为监控 ICMP 延迟/数据包丢失以及定期对站点执行基本的 HTTP 检查。这可能会让您对潜在的间歇性网络问题有所了解。如果您能识别出问题,他就可以进行正确的自定义检查,以帮助您找到确切的问题。
希望这可以帮助!