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



我在网站的应用程序池中将"超时限制"设置为5分钟。

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

在CPU开始上下跳动之前,可以从浏览器访问应用程序,所以它就好像应用程序已经在"运行",所以我认为它已经启动了。。。如果这意味着什么的话。

当我看到它时,我起初很恐慌,因为我担心它可能是我的C#ASP.NET MVC应用程序中的代码,但后来我意识到,在大约5分钟的启动和关闭后,它会平静下来,内存和CPU使用率会恢复到可接受的状态。

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

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

默认应用程序池超时为1740(29小时)。应用程序池在启动或回收时需要资源几分钟是正常的。然而,如果你把它设置为5分钟,它可能在预热过程结束前就被回收了,所以它永远在消耗资源。

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

应用程序池与服务器端缓存完全无关。除非您明确编写了缓存它们的代码,否则图像通常会缓存在客户端上,不会占用服务器上的资源。

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

最新更新