【发布时间】:2009-12-08 11:12:54
【问题描述】:
我们正准备将我们的 ASP.Net 应用程序切换到新的网络农场环境。但是,我们的测试发现了一个间歇性问题,即一个页面最多需要 2 分钟才能完成加载,而通常需要不到 2 秒的时间。浏览器诊断工具(如 Firebug)显示延迟发生在页面加载 jQuery 库和我们的样式表时。我真的不认为这些文件有问题,但我真的不知道问题是什么,所以我不能确定。
这里有一些关于我们环境的更多信息。我们的网络服务器运行 Windows Server 2008(64 位)、IIS 7、.Net 3.5。我们正在使用配置为将流量发送到当前负载最小的任何服务器的 Cisco CSS 负载均衡器(即负载均衡器不使用粘性会话)。 Web 服务器配置为使用第三台服务器作为会话存储(第三台服务器正在运行 ASP.Net 会话状态服务)。
关于什么可能导致延迟的任何想法?
更新:
感谢您迄今为止的回复。在回答给出的一些建议时,我可以肯定地说问题不是由于初始页面加载或任何繁重的第 3 方控制。我们可以连续点击页面多达 100 次,没有延迟,然后突然延迟发生在我们点击它的第 101 次。此外,这可能是一个重要的线索......当延迟发生时,我可以立即在浏览器上点击重新加载,页面将返回到它的快速加载时间......这会更多地指向网络/DNS 问题吗?
更新 2:
似乎只有在下载 jQuery 库时才会出现该错误。我敢肯定,大部分时间它都是从本地缓存中获取的,但即使本地副本已过期并下载新副本,下载一个仅约 56KB 的缩小 jQuery 库也不应花费 2 分钟大小。
更新 3:
在尝试 Fiddler(第一次)后,我能够重现该问题。这次从服务器下载图像文件时发生延迟。而且,它发生在我们的旧服务器上运行时 - 而不是网络农场!这是提琴手对那个文件所说的话。关于从中得出什么结论的任何想法?
Request Count: 1
Bytes Sent: 753
Bytes Received: 242
ACTUAL PERFORMANCE
ClientConnected: 19:53:15:5921
ClientDoneRequest: 19:53:15:8421
Gateway Determination: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 31ms
ServerGotRequest: 19:55:25:7640
ServerBeginResponse: 19:55:25:7952
ServerDoneResponse: 19:55:25:7952
ClientBeginResponse: 19:55:25:7952
ClientDoneResponse: 19:55:25:8108
Overall Elapsed: 00:02:10.2187500
RESPONSE CODES
HTTP/304: 1
RESPONSE BYTES (by Content-Type)
~headers: 242
响应头如下:
HTTP/1.1 304 Not Modified
Cache-Control: max-age=2592000
Last-Modified: Tue, 04 Aug 2009 05:11:20 GMT
Accept-Ranges: bytes
ETag: "ed5bca0c214ca1:f3a"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 08 Dec 2009 02:55:37 GMT
【问题讨论】:
-
感谢您告诉我...完成了。