Since MOSS 2007 publishing sites have had a special type of cache known as the object cache. This cache is used to speed up navigation, cross-list queries, and other publishing operations by not constantly having to hit the DB for each request. The cache is scoped at the site collection and Site Collection Administrators have the ability to change several settings related the cache’s operation. One in particular is the max amount of memory which SharePoint will allow the cache to grow. Playing with this setting you may be surprised to learn SharePoint allows this value to range from 1 MB up to 10 TB! Yep, SharePoint allows Site Collection Administrators with a publishing site to set their object cache up to 10 TB for each Site Collection for which they are an administrator.
Here is a setting on my server – not seeing any performance gains yet but still testing. 🙂
Its not all bad news here; in SharePoint 2010 we do have a web.config setting which helps control the total amount of memory dedicated to object cache per Web Application however I still question why Site Collection administrators are allowed to set this value. In almost all cases, a Site Collection administrator does not have the means to determine the proper setting. They don’t have performance monitor, access to the IIS Logs, knowledge of what other Site Collections are running on the machine, performance characteristics of the web application, or insight into what hardware, specifically the amount of memory is available on the WFE servers.
So the moral of the story? Keep your friends close, but your Site Collection Administrators closer spille roulette.