在共享环境中回收IIS7中的应用程序池的最佳设置是什么?
答案 0 :(得分:35)
作为一名主持人,你绝对想要在Memory&时间,可能是请求限制和CPU。您希望对这些限制非常积极,但请确保将它们发布给您的客户。
Memory - 512用于x86机箱,可能是768.对于x64,您可以根据每台服务器的主机数量将其设置得更高。您只需要小心并在内存问题上观看应用程序池回收事件。
Time - 我们通常在早上1点回收,加或减(第一个站点1:01,第二个1:11,第三个1:21,所以你没有在同一时间)
Request limit - 35,000是IIS6的默认值,但这个数字非常随意,而且非常依赖于相关网站。对于小型使用场所,夜间回收将在您获得35k请求之前很长时间才能完成。
CPU - 95%/ 1分钟限制/ KillW3WP,但要小心使用。我对此的理解是,如果CPU在此工作进程的1分钟限制内达到95%以上,则当Action设置为KillW3WP时,工作进程将被终止并且无法在剩余的限制内重新启动。您可能希望最初尝试NoAction,并仔细查看您的事件日志。
Recycle Event Logs - 您希望确保为您设置的每个事件阈值记录应用程序池回收 - 即如果您根据请求限制进行限制,请确保启用了请求限制日志记录。
要记住的一件事是,应在machine.config的retail="true"
元素中设置<deployment>
:
<system.web>
<!--
<deployment
retail = "false" [true|false]
/>
-->
<deployment retail="true" />
</system.web>
不设置此项将允许网站启用调试,这允许在请求中无限制超时 - 对于主持人而言并非完全理想...
答案 1 :(得分:2)
如果您的交通网站繁忙,请使用长时间的回收计划。如果流量较低的站点使用较短/默认的计划来节省内存。
我从Al Zabir的博客中了解到这一点:http://msmvps.com/blogs/omar/archive/2008/10/04/best-practices-for-creating-websites-in-iis-6-0.aspx
Daniel S.是对的,您的会话变量会在回收时被销毁,因此请确保在获取会话对象时对此进行良好测试或获得良好的错误保护/恢复。
答案 2 :(得分:1)
提示:当您回收应用时,所有会话变量都会被销毁......所以请注意这一点!
恕我直言,保留默认值。
答案 3 :(得分:1)
您需要根据需要来满足设置需求,并考虑您拥有的内存量以及站点/ Web应用程序的使用高峰时间。
还要考虑您的网站/网络应用程序的内存使用情况,就好像存在内存泄漏一样,您可能会更频繁地回收,然后您会想到。
根据回收成本计算任何泄漏,如上所述,您将失去状态变量。