2008-10-13 20 views

回答

32

作为一个Hoster,你一定要回收内存&时间,潜在的请求限制和CPU。您希望对这些限制非常积极,但请确保将它们发布给您的客户。

Memory - 对于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 - 您希望确保您为每个设置的事件阈值记录应用程序池回收 - 即,如果基于请求限制进行限制,请确保已启用请求限制日志记录。

有一点要记住的是,你应该<deployment>元素在你的machine.config设置retail="true"

<system.web> 
    <!-- 
     <deployment 
      retail = "false" [true|false] 
     /> 
    --> 
    <deployment retail="true" /> 
</system.web> 

不设置这将允许网站启用调试,它允许无限超时的请求 - 不完全适合主机...

1

提示:当您回收您的应用程序,你的所有会话变量被销毁...所以小心这个!

恕我直言,保持默认值。

+0

但是,这只是如果你是InProc,不是吗? – 2012-11-29 19:37:55

+5

如果您使用InProc,您的会话变量只会被销毁。我会始终保持会话变量不受影响,以便您可以轻松扩展到Web花园/农场。 – 2013-07-25 10:31:00

1

您需要满足您的需求,考虑您的网站/ Web应用程序的内存量和使用高峰时间。

还考虑到您的网站/ Web应用程序的内存使用情况,就好像有内存泄漏一样,那么您可能会更频繁地回收,然后再考虑。

根据回收成本衡量任何泄漏,如上所述,您将失去状态变量。

相关问题