应用池回收并发症

时间:2013-07-24 00:16:02

标签: asp.net sitecore application-pool

我们有一个Web应用程序,除了System.OutOfMemoryException类型之外。我们正在研究修复的根本原因。

在此之前,我们每周都会执行应用程序池回收,以便不会发生此事件。

每周回收应用程序池是否会导致网站出现更多复杂情况?

1 个答案:

答案 0 :(得分:1)

在Sitecore网站的web.config中,您可以设置MemoryMonitorHook以清除内存:

<hooks>
  <hook type="Sitecore.Diagnostics.MemoryMonitorHook, Sitecore.Kernel">
    <param desc="Threshold">800MB</param>
    <param desc="Check interval">00:05:00</param>
    <param desc="Minimum time between log entries">00:01:00</param>
    <ClearCaches>true</ClearCaches>
    <GarbageCollect>true</GarbageCollect>
    <AdjustLoadFactor>true</AdjustLoadFactor>
  </hook>
</hooks>

这基本上告诉Sitecore在内存使用量超过800MB时开始清除缓存并调用GC 这样您就不必手动回收应用程序池。

如果不是Sitecore网站,你担心消耗太多内存,而且由于其他应用程序你必须回收应用程序池,很难判断是否存在复杂问题。我们每周回收一次应用程序池,我们不会产生任何问题。显然,我们是在营业时间和高峰时间之外完成的。
如果其他应用程序消耗了太多内存,您可以尝试将它们放在不同的应用程序池中,这样您就不会打扰网站了吗?