繁体   English   中英

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

[英]ASP.NET application hangs under modest load in IIS 7. Requests timeout. How to debug?

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

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

没有应用程序错误或底层超时(SQL 等),并且没有任何内容记录在事件日志中。 通常,当我们在 PerfMon 中观看 ASP.NET 时,Requests Executing 徘徊在 5-10 左右,Requests Current 徘徊在 25-40 左右。 当这开始时,随着客户端的每个请求超时,这些数字都稳步攀升至无穷大。

虽然我喜欢银弹,但我主要希望有一种更好的方法来调试事物。 是否有更好的 PerfMon 数据可供查看? 可以记录的东西? 有什么可以尝试或测试的?

提前感谢您的想法,蜂巢思维!

Tess Ferrandez 有一系列关于如何调试此类问题的文章/实验室:

.NET 调试演示 - 信息和设置说明

不幸的是,这类问题很少有单一的灵丹妙药解决方案。 当它挂起时,您需要获取该工作进程的转储,然后开始使用 WinDBG 和 SOS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM