概要:
我使用名为“WebsiteAppPool”的AppPool在名为“网站”的IIS中有一个ASP.NET MVC网站。 WebsiteAppPool被configuration为允许多达4个工作进程,实际上创build一个“networking花园”。 该网站还通过web.configconfiguration为使用CacheProfiles启用OutputCaching。
<caching> <outputCacheSettings> <outputCacheProfiles> <clear /> <add name="ControllerNameActionName" duration="43200" varyByParam="*" /> </outputCacheProfiles> </outputCacheSettings> </caching>
我的问题是 –
AppPool的工作进程是共享输出caching还是每个工作进程都有输出caching,因此在AppPool上创build了4个caching副本。
注意:
我主要关心的是,这将缓解caching输出的好处,我最好是有一个WorkerProcess提供caching输出,而不是4。
来自MSDN :
由于Web园能够使用多个进程,因此每个进程都将拥有自己的应用程序状态副本,进程内会话状态,高速caching和静态数据。 Web花园不应该用于所有应用程序,特别是如果他们需要维护状态。 在确定Web花园模式是否合适之前,请务必对应用程序的性能进行基准testing。
在使用Web花园时,了解会话状态和循环法是如何工作的非常重要。 考虑其他应用程序池设置如何影响应用程序也很重要
如果你在进行会话状态(你希望不是这样),Web花园特别棘手。 根据我的经验,我发现networking花园很less是人们认为的好处。