As the SharePoint environment in your Enterprise matures it is time to move from looking at how to build and maintain it, to how to improve it. These improvements can be centered how applications to improve user interaction, to process improvements, to performance improvements.
Today we will focus on a performance improvement and that is using cache to improve response time. Each of these caches that I will list help to improve something, and each have there own particular use
Blob Cache (RBS) – The usage for this is when you need to remove stress from SQL server, since everytime a user opens a document they will reconnect to the server that holds the blob. Thus relieving stress from the SQL server. This is not a cheap system to setup nor is it simple, take your time to plan and implement this.
This not actually a cache in the traditional sense, blobs are removed from SQL server and placed on a drive/server. There are considerations for Backup and DR when implementing this.
Users when they open a file will be redirected to the Drive/Server so it must be able to maintain the connections this should not be on the SQL server or farm servers as that would defeat the purpose when it comes to performance.
The data that is stored in the Cache is file types like Word, Text, PDF, and other Office Doc’s. With approx. 10 GB in the YCL farm I don’t think we will get the relieve on SQL that we would hope for.
Output Cache – The usage of this cache is when you need to improve performance of a page, the cache stores the rendered output of page. This has been extremely successful within Microsoft itself, with a 9x improvement in page response time.
Stores a copy of the rendered page and is refreshed at an interval in a more traditional manner.
Is stored in-memory on each WFE. We cache the following items in memory Page Source code , Rendered controls, Queries
In multi-server farms it is possible to have inconsistent results when pages change. To deal with this keep the reload of cached items lower ie 60 seconds vs 120 seconds.
Other gotchas for Output caching are i. Can only be used on Publishing pages. ii. Use 2 x Size of page + 32kb of memory to store a page.
Object Cache – This cache will reduce the traffic between the SQL server and the Web Front End by storing SharePoint objects in memory. This enabled by default in SharePoint 2010, but not necessarily tweaked for your farm.
Stores SharePoint objects like List/Library, Site Settings, and Page Layouts and is refreshed on an interval
Is stored in-memory on the Web Front End
Can be set at Web Application and Site level, by default is enabled for Site level
Can be optimized by changing the size of the cache for the Web Application in the Web.Config.
Requires Publishing feature for Site to take advantage of Cache
Output Caching and Cache Profiles in SharePoint Server 2010 (ECM)