决定应用程序池启动的
设置在“应用程序池”=》高级设置=》启动模式里。当应用程序池被回收后,是否启动以此设置决定。若是OnDemad,则等待最近的请求。若AlwaysRunning,则立刻启动。
决定应用程序池关闭的
是回收组设置。固定间隔一般1740分钟,当到达时间间隔,则关闭应用程序池。是否再次启动,取决于“启动模式”选项,若是OnDemand则不启动应用程序池,等待请求来才启动。若是AlwaysRunning,则立刻启动应用程序池。
当固定间隔设置为0时,则不固定间隔回收,应用程序池长期不回收也会有问题。此时,一般会设置特定时间去回收。
这种方案比固定间隔更好,因为1740分钟为29小时,不容易控制。在网站在白天用户较多情况下,回收应用程序池不明智。故特定时间更好,比如设置为晚上用户较少时回收。
另一个影响应用程序池关闭的选项是
进程组闲置超时时间,默认20分钟。即网站最后一个请求,20分钟后若没有新请求,则应用程序池执行“空闲超时操作”选项,默认Teminate为终止进程,另一个是Suspend挂起进程。
Terminate会关闭应用程序池,是否再次启动,依旧由“启动模式”选项决定。Suspend不会关闭应用程序池,故不存在重启问题。
测试
为了测试方便,设置为闲置超时1分钟。同时,打开任务管理器进程详细
若“启动模式”选项设置为AlwaysRunning,可观察到每1,2分钟,新进程启动,旧进程关闭。
若“启动模式”选项设置为OnDemand,可观察到进程1,2分钟关闭后,不再启动。
保持高可用性,最佳策略
启动选项:AlwaysRunning
回收间隔:0,选择特定时间点为凌晨1点
闲置时间,可设置为1440分钟(1天)
另一点注意
若回收使用,固定间隔策略,即设置大于0,如设置1740分钟。
则闲置超时时间,不能超过固定间隔时间,IIS会提示。这是合理的。
由此推断,固定间隔重启后,即使没有请求,闲置超时应该重新开始计算。