Jon*_*Jon 10 networking windows iis performance iis-7.5
根据http://support.microsoft.com/kb/944884 的说法,“当一个或多个大型响应通过慢速网络连接发送到客户端时,time-taken 字段的值可能会超过预期”。
我遇到过这样的情况,客户会说,“我在 10:03:24 向您的 Web 服务器发送了一个请求,花了 20 秒,为什么?”。我也可以在 IIS 日志中看到这一点,但是服务器的 ASP.NET 模块将其记录为耗时 100 毫秒,并且 CPU 和磁盘计数器很低。
我怀疑这是由于网络连接速度慢。我怎样才能证明这一点?
更新:
1) 这些是 SOAP Web 服务请求,因此没有嵌入图形,只是带有单个 XML 结果页面的 HTTP POST。
2)另外,我已经通过在客户端限制网络速度来重现这一点,并且症状完全相同。
3) 问题是间歇性的,这意味着客户端的相同请求通常很快,但偶尔会很慢。除了限制网络之外,我自己无法重现这一点。服务器的 ASP.NET 日志显示它总是很快,但是当客户端说它很慢时,IIS 日志显示它很慢。
4)我只能访问服务器,并且需要向客户端提供尽可能多的信息,以便他们接受问题不在服务器上并知道在客户端上运行哪些日志记录/工具以查找根本原因。
我遇到过这样的情况,客户会说:“我在 10:03:24 向您的 Web 服务器发送了一个请求,花了 20 秒,为什么?”。我也可以在 IIS 日志中看到这一点,但服务器的 ASP.NET 模块将其记录为花费 100 毫秒,并且 CPU 和磁盘计数器很低。
我怀疑这是由于网络连接速度慢造成的。我怎样才能证明这一点?
首先寻找客户端浏览器与上述网页的所有图像/脚本/html 源之间的数据包丢失。如果您发现一致的数据包丢失,那么您肯定知道网络中存在需要修复的问题......即使它只是一个过载的链路。丢包并不是网络缓慢的唯一原因,但根据我的经验,这是最常见的原因。其他来源可能是配置错误的代理或缓存引擎。遗憾的是,我无法在这里列出所有可能的网络罪魁祸首。
然而,人们经常指责网络,而事实上速度问题完全在他们自己的控制范围内。可能的解释:
我可以继续说下去,但重点是您必须自己确定页面缓慢的确切原因。网络可能存在缺陷;也可能有其他因素导致性能缓慢。
进一步诊断:
curl
直到您发现某些看起来太慢的内容,然后找出该特定元素的原因是慢的。顺便说一句,Chrome 和 Firefox 示例使用了来自 Debian.org 的 CGI 查询;这是 CGI 查找造成的延迟的一个很好的例子。
.pcap
当所有其他方法都失败时,您可以从wireshark获取并运行它tcptrace
;然而,虽然tcptrace
它非常擅长分析数据包转储,但不能保证您可以tcptrace
单独隔离问题。有关使用诊断的信息,请参阅此答案tcptrace
。
归档时间: |
|
查看次数: |
21285 次 |
最近记录: |