当我尝试在我们的网站上显示一个不存在的页面时,w3wp.exe进程使用13%的cpu并保持在该级别。对于每个额外的不存在的页面请求,使用额外的13%的cpu。当然,在几次请求之后,总cpu使用率高达95-100%,并且站点变得无法使用。
我杀了w3wp.exe进程,一切恢复正常。一段时间后,几个随机用户转到不存在的页面,cpu再次上升到100%。
研究问题我偶然发现了web.config httperrors部分被锁定并可能导致问题的想法。我和我的托管公司技术人员尝试了这篇文章中的建议:http://forums.iis.net/p/1159721/1912266.aspx。这些建议都没有解决问题。
我查看了IIS中的Worker Processe,但没有告诉我任何事情。
我查看了失败的请求跟踪,但也没有帮助。
显然,我正在寻找关于如何诊断和解决这个问题的任何其他建议。
谢谢,
版
答案 0 :(得分:0)
看看this blog post。我实际上使用Jose Reyes’ ASP.NET Perfecto tool
来确定X页面上的Page_Init由于X而变慢。但是,如果您可以获得对服务器的远程桌面访问权限,那么您只能真正使用此工具需要设置性能计数器。
FREB / Failed请求跟踪(FRT)也应该能够告诉你它在哪里挂起,虽然我没有发现它像上面那样有用。 (似乎你也同意:p)。
此外,可能听起来很奇怪,但如果它是一个不存在的页面,我想这些是使用自定义错误/错误页面处理的?所以页面肯定不会那么密集!在任何情况下,如果是这种情况,FREB / FRT应该能够。
我还没有亲自使用的PerfView Tool
,但显然非常漂亮。
HTH