Summary:
I have an ASP.NET MVC website in IIS named 'Website' using an AppPool named 'WebsiteAppPool'. WebsiteAppPool is configured to allow up to 4 Worker Processes, in effect creating a 'Web Garden'. The Website is also configured, via web.config, to enable OutputCaching using CacheProfiles.
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<clear />
<add name="ControllerNameActionName" duration="43200" varyByParam="*" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
My question is -
Will the AppPool's worker processes share the output cache or will each worker process have the Output Cache, therefore creating 4 cached copies across the AppPool.
Note:
My main concern is that this will debunk the benefits of having cached output and I would be better off having one WorkerProcess serving up the cached output rather than the 4.
From MSDN:
Web gardens are especially screwy if you're doing in-process session state (which you hopefully aren't anyway). In my experience, I find that web gardens are rarely the benefit that people think they are.