ASP.NET应用程序在IIS 7中的适度负载下挂起。请求超时。怎么调试?

时间:2011-06-03 19:07:56

标签: asp.net iis-7

我们在Windows Server 2008上的IIS7上运行了一个ASP.NET站点 - 实际上我们在几个相同的服务器上运行相同的代码。流量一直在增长,偶尔,在流量较高的时候,网站(实际上是应用程序)将变得没有响应 - 或者至少是如此缓慢以至于没有响应。唯一要做的就是停止/启动W3SVC;回收网站或应用程序不会修复它。

在多个服务器上发生相同的症状(偶尔和看似随机)。所以它不是一个特定的盒子。这些服务器有8GB的RAM,使用不超过5GB;即使在这些高流量时间内,CPU使用率平均也在40-50%左右。所以那些不太可能是问题。

没有应用程序错误或基础超时(SQL等),并且事件日志中没有记录任何内容。通常,当我们在PerfMon中观察ASP.NET时,Requests Executing将在5-10左右徘徊,请求当前在25-40左右。当这开始时,随着每个请求超时,这些数字都会稳定地向无穷大方向攀升。

虽然我喜欢银弹,但我主要希望有更好的方法来调试。是否有更好的PerfMon数字?可以记录的东西?有什么可以尝试或测试的吗?

提前感谢你的想法,hive-mind!

1 个答案:

答案 0 :(得分:1)

Tess Ferrandez有很多关于如何调试这些问题的帖子/实验室:

  

.NET Debugging Demos - Information and setup instructions

不幸的是,很少有一个解决这些问题的银弹解决方案。你需要在挂起时获取该工作进程的转储,然后开始讨论使用WinDBG和SOS。