我目前在IIS 7.5中设置asp.net mvc站点,wcf服务等。我目前正在为应用程序池配置应用程序,并对应用程序池回收有疑问。每个应用程序都相互依赖。目前,任何应用程序都没有内存问题,但有时我们确实遇到了其中一个应用程序的CPU问题。
这些应用程序支持从欧洲到澳大利亚的多个时区,因此应用程序没有一段时间处于“停机时间”。
关于recyles的主题,我不知道在这里设置什么。我是否应该尝试包含一些基于时间的回收或查看可能的其他方法?我不确定没有回收应用程序池是正确的。
答案 0 :(得分:0)
我的理解是应用程序池回收对最终用户(应用程序)应该是透明的。来自Thoughts on Application Pool Recycling and Application Availability:
当您回收应用程序池时,HTTP.SYS会在内核模式下保留客户端连接,而用户模式工作进程将循环使用。进程回收后,HTTP.SYS透明地将新请求路由到新的工作进程。因此,客户永远不会失去所有的连接性。到服务器 - TCP连接永远不会丢失 - 并且永远不会注意到进程回收。
假设上述情况属实,那么您不必担心何时进行回收。
免责声明:我不是根据经验发言,而是看过几篇指出上述内容的MSDN文章。一如既往,您想要测试。
答案 1 :(得分:0)
Scott Forsyth撰写了一篇关于应用程序池回收默认值背景的精彩文章 - http://weblogs.asp.net/owscott/archive/2013/04/06/why-is-the-iis-default-app-pool-recycle-set-to-1740-minutes.aspx。基本上我将与Scott的文章一起提供的指导是查看您的使用数据,并确定何时是您的服务/应用程序使用率最低的正确时间段。