0

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

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

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

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

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

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

4

1 回答 1

1

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

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

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

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

于 2015-02-15T23:10:28.023 回答