在共享环境中的IIS7中回收应用程序池的最佳设置是什么?

GrZ*_*eCh 32 iis-7 application-pool recycle

在共享环境中回收IIS7中的应用程序池的最佳设置是什么?

在此输入图像描述

Chr*_*wis 35

作为Hoster,您肯定希望在内存和时间上进行回收,可能需要限制和CPU.您希望对这些限制非常积极,但请确保将它们发布给您的客户.

内存 - 对于x86机箱为512,可能为768.对于x64,您可以根据每台服务器的主机数量将其设置得更高.您只需要小心并在内存问题上观看您的应用程序池回收事件.

时间 - 我们通常在早上1点回收,加或减(第一个站点1:01,第二个1:11,第三个1:21,因此您没有同时进行所有回收)

请求限制 - 对于IIS6,默认值为35,000,但这个数字非常随意,并且非常依赖于相关网站.对于小型使用场所,夜间回收将在您获得35k请求之前很长时间.

CPU - 95%/ 1分钟限制/ KillW3WP,但要小心使用.我对此的理解是,如果CPU在此工作进程的1分钟限制内达到95%以上,则当Action设置为KillW3WP时,工作进程将被终止并且无法在剩余的限制内重新启动.您可能希望最初尝试NoAction,并仔细查看您的事件日志.

回收事件日志 - 您希望确保为所设置的每个事件阈值记录应用程序池回收 - 即,如果基于请求限制进行限制,请确保启用了请求限制日志记录.

要记住的一件事是你应该machine.configretail="true"中的<deployment>元素中设置:

<system.web>
    <!--
        <deployment
            retail = "false" [true|false]
        />
    -->
    <deployment retail="true" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

不设置这将允许站点打开调试,这允许在请求中无限制超时 - 不完全适合于主机...

  • 您应该考虑1:1站点到AppPool规则.借助IIS 7的AppPool隔离增强功能,可以防止以相同标识运行的应用程序池访问彼此的内存/资源. (5认同)