最近2003 Server升级到了Asp.Net 2.0,发现CPU占用总是接近100%,服务器响应严重降低。
历经一番挫折,终于搞定了问题。下面把整个过程写下来与大家分享,希望对遇到同样问题的朋友有所帮助。
开始怀疑是下载软件包的问题,.Net Framework 2(x86)是从微软网站下载的,重新检查,排除了下载软件包的问题。网上疯狂搜集资料也是不得法。无奈之下,尝试在IIS Web服务扩展里把ASP.NET v1.1.4322给禁止了,运行一段时间发现CPU占用一直稳定在50%左右(窃喜,同时迷惑:站点已经不使用Framework1.1,不禁用它为什么还有这么大的影响?希望有了解的朋友不吝相告),不过这也不是正常的CPU占用率(平时CPU一般在5%左右)。
今天在网上偶然看到一篇文章解决w3wp.exe内存占用问题,作者建议“在IIS中对每个网站进行单独的应用程序池配置”,于是首先对几个大的站点单独配置应用程序池,发现CPU占用显著降低 , 才明白这才应该是问题的关键,最终解决问题。
应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。
个人理解,由于使用应用程序池将站点运行在一个隔离的工作进程里,就大大降低了某个应用程序CPU时间耗用过长从而影响其它请求的可能性。这可能就是分工协作的好处吧。呵呵,个人对应用程序池了解不多,希望高手拍砖:)。
以上就是整个过程。
历经一番挫折,终于搞定了问题。下面把整个过程写下来与大家分享,希望对遇到同样问题的朋友有所帮助。
开始怀疑是下载软件包的问题,.Net Framework 2(x86)是从微软网站下载的,重新检查,排除了下载软件包的问题。网上疯狂搜集资料也是不得法。无奈之下,尝试在IIS Web服务扩展里把ASP.NET v1.1.4322给禁止了,运行一段时间发现CPU占用一直稳定在50%左右(窃喜,同时迷惑:站点已经不使用Framework1.1,不禁用它为什么还有这么大的影响?希望有了解的朋友不吝相告),不过这也不是正常的CPU占用率(平时CPU一般在5%左右)。
今天在网上偶然看到一篇文章解决w3wp.exe内存占用问题,作者建议“在IIS中对每个网站进行单独的应用程序池配置”,于是首先对几个大的站点单独配置应用程序池,发现CPU占用显著降低 , 才明白这才应该是问题的关键,最终解决问题。
应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。
个人理解,由于使用应用程序池将站点运行在一个隔离的工作进程里,就大大降低了某个应用程序CPU时间耗用过长从而影响其它请求的可能性。这可能就是分工协作的好处吧。呵呵,个人对应用程序池了解不多,希望高手拍砖:)。
以上就是整个过程。

浙公网安备 33010602011771号