IIS服务器在应用程序池重新启动后不久从0-100%跳转

时间:2015-02-15 22:06:01

标签: c# asp.net-mvc-5 iis-8 asp.net-caching

我的网站应用程序池上的“超时限制”设置为5分钟。

我注意到它经常停止并重新启动。在应用程序池重新启动后不久,w3svc.exe以奇怪的行为启动,CPU在0到100%之间上下移动。

在CPU开始上下拍摄之前,可以从浏览器访问应用程序,因此就好像应用程序已经“正在运行”所以我认为它已经开始了......如果这意味着任何事情。

当我看到它时,我最初感到恐慌,因为我担心它可能是我的C#ASP.NET MVC应用程序中的代码,但后来我意识到这在拍摄上下5分钟以及内存和CPU后平静下来用法返回到可接受的状态。

我已经将我在应用程序池上的超时设置为0,以防止它频繁进入此循环,但我不确定它在做什么,所以我想对其进行微调。

我一直在寻找与缓存相关的事情,因为我担心服务器可能会缓存包含数千张图像的整个/Content文件夹。

1 个答案:

答案 0 :(得分:1)

默认应用程序池超时为1740(29小时)。应用程序池在启动或回收时需要几分钟的资源是正常的。但是,如果将其设置为低至5分钟,则可能在预热过程完成之前进行回收,因此它会不断耗尽资源。

我不确定您希望通过将应用程序池设置为每5分钟回收一次来获得什么,但是每次池重新启动时,都会重置进程内会话状态和未指定为“不可移除​​”的缓存项如果您的申请依赖于它们,将导致其他问题。

应用程序池与服务器端缓存没有任何关系。除非您已明确编写代码来缓存它们,否则图像通常会缓存在客户端上,而不会占用服务器上的资源。

也就是说,正确使用缓存会提高 Web服务器的性能,而不是阻碍它。