W3wp hih cpu使用情况和不存在的网页

问题描述:

当我尝试在我们的网站上显示一个不存在的页面时,w3wp.exe进程使用13%cpu并停留在该级别。对于每个额外不存在的页面请求,将使用另外13%的CPU。当然,在多次请求后,总CPU使用率高达95-100%,并且该站点变得无法使用。W3wp hih cpu使用情况和不存在的网页

我杀掉了w3wp.exe进程,一切恢复正常。一段时间后,一些随机用户转到不存在的页面,并且CPU再次达到100%。

研究问题我偶然发现web.config httperrors部分被锁定并可能导致问题的想法。我和我的托管公司技术人员在本文中尝试了这些建议:http://forums.iis.net/p/1159721/1912266.aspx。这些建议都没有解决问题。

我看着IIS中的Worker Processe,并且什么都没告诉我。

我看着失败的请求追踪,这也没有帮助。

显然,我正在寻找其他有关如何诊断和解决此问题的建议。

感谢,

埃德

看一看this blog post。实际上,我使用Jose Reyes’ ASP.NET Perfecto tool来确定X页面上的Page_Init速度很慢,因为X.如果您可以通过远程桌面访问服务器,则只能真正使用此工具 - 因为您需要设置性能计数器。

FREB /失败的请求追踪(FRT)也应该能够告诉你它在哪里挂起,尽管我没有发现它与上述一样有用。 (似乎你也同意:P)。

此外,听起来很奇怪,但如果它是一个不存在的页面,我猜这些正在处理使用自定义错误/错误页面?所以这个页面肯定不能那么密集!无论如何,如果情况确实如此,FREB/FRT应该能够向您提供。

还有PerfView Tool,我没有亲自使用,但显然非常漂亮。

HTH

+0

伊恩,FRT显示W3WP调用AspNetMapHandleEnter但是当我冲浪一个不存在的页面没有离开过。有人建议获取SubStatus代码,但我在FRT日志中找不到一个。 – CoolBreeze 2012-04-17 22:03:56

+0

所以你永远不会看到一个'AspNetMapHandlerLeave'?这实际上并没有那么有用 - 有用的部分是它挂在哪个模块上。如果您只是在“完整请求追踪”中展开所有内容,则应该能够找到吊挂处理程序并查看挂载的模块。然后你可以开始正确调试:-) – ianbailey 2012-04-18 09:26:59