Answers:
是的,它默认为每天一次的原因是出于担心Web应用程序可能发生内存泄漏的担心。频繁回收IIS应用程序池的最大弊端是,它将导致web.config读取,程序集加载和asp.net页面的重新编译,以及(如果您不相信它们的预编译)代码的背后。这是一个相当繁重的过程,直到应用程序池回收后下一个页面请求才发生,这大大降低了该特定请求的速度。IIS7现在有一个模块,您可以下载名为Application Warm Up的模块来帮助解决此问题。
我个人更喜欢将基于内存的最大值与登录应用程序启动结合使用,而不是安排回收。这使我可以假定我的应用程序没有内存泄漏,并且在应用程序池回收时被证明是错误的。
1740分钟是29小时:
回到IIS 6开发时(引入应用程序池的版本),当应用程序池被自动回收时,需要为“常规时间间隔”设置默认值。
韦德建议使用29小时,原因很简单,因为这是24小时内最小的素数。他想要一种不重复的,不重复的模式,这种模式每天不会发生得最多。用韦德的话说:“你不会产生共鸣”。从那时起,默认设置为1740分钟(29小时)!
关闭它并监视应用程序池。大多数复杂的企业应用程序都使用大量的旧代码,并且其中许多代码都是泄漏的。因此,对于大多数安装,偶尔重新启动应用程序池并不是一个坏主意。
还有其他选项,例如监视不活动时间,这可能是针对您情况的更好解决方案。
加速应用程序池可能会花费一些时间,并使应用程序的响应速度降低,因此,保持它们正常运行可以帮助提高性能。