即使在我停止所有网站后,IIS的CPU使用率也很高

时间:2014-05-16 16:35:54

标签: asp.net asp.net-mvc performance iis

我在VPS上有一个Asp.Net MVC 5.1网站,直到几天前一切都顺利完成没有任何问题。它有4 GB的RAM,四核CPU(3 GHz)和一个用于Windows驱动器的SSD(目前10 GB的可用空间),所以我不认为这是一个硬件问题。 我使用Web平台安装程序安装 Wordpress 后问题就出现了,但这可能只是巧合。 当我重新启动VPS时,一切都很顺利。几个小时后,w3wp.exe的CPU使用率达到100%并且永远不会降低。我停止了所有运行的网站并等了几分钟,它仍然是100%,所以我确定它不是任何网站。有什么方法可以解决问题的来源吗?你能猜到我应该从哪里开始吗?

更新

我重新启动服务器中的DefaultApplicationPool,该服务器与服务器上运行的其中一个网站相关,它立即将IIS的CPU使用率降低到3.我再次启动它,现在它已经启动了持续3%的CPU,网站功能齐全。我认为它很快就会达到100%!

1 个答案:

答案 0 :(得分:1)

我跟进了@ tutorial提到的Andrei并确认它是占用高CPU的IIS,它是占用CPU的主站点。我通过创建一个新的应用程序池并将网站的池更改为该来确认了这一点。一段时间后,CPU使用率再次达到100%,我确信我的网站出了问题。

然后,经过一些研究,我遇到了this IIS forum thread给了我一些想法。我使用了以下命令:

%windir%\system32\inetsrv\appcmd list requests

并且看到有很多请求在一个动作中被绞死。此操作正在等待一个Web服务,该服务返回了我们网站收到的SMS消息列表,当时无法正常工作。我改变了代码并暂时禁用它。 IIS目前使用3%的CPU。