【问题标题】:when should I schedule app pool recycles?我应该何时安排应用程序池回收?
【发布时间】:2013-12-27 07:19:08
【问题描述】:

我目前正在 IIS 7.5 中设置 asp.net mvc 站点、wcf 服务等。我目前正在为应用程序池配置应用程序,并且对应用程序池回收有疑问。每个应用程序都相互依赖。目前,任何应用程序都没有内存问题,但有时我们确实会遇到其中一个应用程序的 CPU 问题。

应用程序支持多个时区,从欧洲到澳大利亚,因此没有时间应用程序有“停机时间”。

所以关于回收的话题,我不知道在这里设置什么。我是否应该尝试包括一些基于时间的回收或寻找其他可能的方法?我不确定不回收应用程序池是否正确。

【问题讨论】:

  • 根据我的经验(这确实是……并没有那么多),让应用程序池自动回收是在开放的枪伤上贴创可贴。你试图掩饰一个实际的问题。无论是代码问题,还是硬件/缩放问题。

标签: c# iis iis-7.5 application-pool recycle


【解决方案1】:

我的理解是应用程序池回收应该对最终用户(应用程序)透明。来自Thoughts on Application Pool Recycling and Application Availability

当您回收应用程序池时,HTTP.SYS 在内核模式下保持客户端连接,而用户模式工作进程回收。进程回收后,HTTP.SYS 透明地将新请求路由到新的工作进程。因此,客户端永远不会“丢失所有连接”到服务器 - TCP 连接永远不会丢失 - 并且永远不会注意到进程循环。

假设上述情况属实,那么您应该不必担心何时回收。

免责声明:我不是根据经验说话,而是看过几篇 MSDN 文章表明上述内容。与往常一样,您需要进行测试。

【讨论】:

    【解决方案2】:

    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 的文章一起提供的指导是查看您的使用数据,并确定何时是您的服务/应用程序使用率最低的正确时间段。

    【讨论】:

      猜你喜欢
      • 2012-08-11
      • 2015-01-07
      • 2011-07-08
      • 2011-09-20
      • 2016-06-13
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多