在生产中,iis Cpu使用率仅为95%,用户非常少

时间:2013-11-26 08:46:15

标签: iis cpu-usage

我有一个网站,我使用iis作为我的网络服务器。我注意到在生产服务器上,cpu的使用率很快达到95%,用户很少。我在开发服务器上看不到这种行为。我正在使用visual studio进行开发,iis也是我的本地Web服务器。

1 个答案:

答案 0 :(得分:2)

与开发服务器相比,您的生产流量有多大?他们的参数如何比较?在开始深入分析应用程序本身之前,我会确定所有基础架构和环境差异。有时会出现这样的问题,因为其他一些软件,比如在后台运行的防病毒软件......

然而,因为它听起来像是一个应用程序问题,我首先会检查事件查看器是否有错误。然后,我将从监控一些性能计数器开始,将% Processor Time计数器与Current ConnectionsAvailable Memory# of Exceps Thrown / sec% Time in GC等关联起来。这种行为通常有以下原因:

  • 过度循环使用由于某些逻辑错误,例如反复调用同一服务,尝试加载或解析故障文件等。可以使用转储分析进行分析(如下所示)。 / LI>
  • 由于垃圾收集器导致的高CPU使用率 - 当内存使用量很大(或甚至存在内存泄漏)时,GC可能会开始消耗越来越多的CPU与内存不足相冲突。您将看到与内存相关的性能计数器。
  • 一个大量异常抛出(例如由于某些环境问题,如网络不可用,生产数据不同)也会占用大量CPU。 事件查看器和与异常相关的性能计数器(因为它们可以由您的应用程序静默处理)应该是一个指标。

为了进一步分析您的应用程序,我建议在高CPU使用率期间进行完全内存转储。您可以使用Debug Diag工具执行此操作。有关详细信息,请参阅this IIS troubleshooting guide