自从 IIS7.5 发布以来,我一直在使用它。我还在使用 commerce server 2007sp2。由于 Commerce Servers 需要内存和处理器,我分配了应用程序池用于网站,每天午夜回收。我的问题是回收繁重的 Web 应用程序池的最佳时间表是什么?如果可能的话,我希望保持速度,不影响潜在客户,同时每天回收多次。另一个问题是,每隔几天,同一个应用程序池就会挂起,我必须强制重置 IIS 才能使其再次运行。
答案1
我认为很难推荐任何回收计划,因为这实际上取决于业务方面,例如,您的网站主要位于美国还是也在全球范围内访问?一般来说,我建议查看您的分析并确定何时执行回收“更安全”。
实际上,IIS 使用 29 小时作为默认值的原因是为了拥有更多的“滑动”时间,因为默认值为 24 小时会使其始终在同一时间回收,并且取决于应用程序池的启动时间,这可能是您的“顶级”客户时间,然后您每天都会被困在那里。
因此,除了确定例如如果您的客户群在凌晨 2:00 时较少,那么就使用这个时间之外,实际上没有其他好的答案。当然,如果您启用特定计划,请确保将回收间隔设置为 0。
无论您选择什么,请确保不要禁用重叠回收(默认设置),这样停机时间就会最短,因为 IIS 将在准备新 AppPool 的同时继续处理请求。如果您使用的是 IIS 7.5,您甚至可以使用应用程序预热功能(仍处于测试阶段)在应用程序池开始处理请求之前对其进行预热,这样您就不会遇到“缓慢”的响应。