For Microsoft SharePoint Server 2010 at the Web application level you can configure 3 levels of cache settings that improve the performance of web page loading time. They are as follows.
Blob Cache

For sites that use heavy media content – audio or video, static content or read-only .doc or .pdf files the Blob cache will improve performance of the site and show the results quickly to the users. A SharePoint administrator can modify the settings to add or remove file name extensions of file types to be cached. This functionality lets you either cache as many file types as possible - image, audio, and video files, together with .css and .js, or to restrict the cache to certain kinds of files.

There is one BLOB cache per Web application. By default the size of a BLOB cache is 10GB. When you enable the BLOB cache, you must specify a location on the front-end Web server where the files will be stored. Each front-end Web server has its own local copy of the BLOB cache that is built as requests for files are received as shown below.

CacheShare1.jpg

If you use load balancing with multiple front-end Web servers, each server contains its own cache. When a file is requested by the first server, it is cached to that server only. If the next request for the same file comes from a second server, a second request is sent to the database server to retrieve the file to the cache on the second server as shown below with an example of a request for the header.png file. Only for the first time when files are written to the disk there is a performance hit. Future requests to the WFE server for that same file is served from the file that is stored in the BLOB cache, instead of being served from the database. This reduces the network traffic and the load on the database server. I have seen performances improve from over 10 seconds to less than 1 second when Blob caching is enabled for a web page.

CacheShare2.jpg

Points to remember

Flushing Blob Cache

If the BLOB cache becomes out of sync with the content you will need to flush it. This could be set as an auto interval or can be done manually by the SharePoint Farm Admin by cleaning the physical disks.

You cannot use the user interface to flush the BLOB cache. Instead, you use Windows PowerShell and the SharePoint object model to complete this task. The powershell script can be wrapped as a windows task schedule for auto interval of manual run. Following the PS command
$webApp = Get-SPWebApplication "<WebApplicationURL>" [Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp)
Write-Host "Flushed the BLOB cache for:" $webApp

Replace <WebApplicationURL> with the URL of the Web application whose BLOB cache you want to clear.

Object Cache

The object cache reduces the amount of traffic between the Web server and the SQL database by storing objects, such as lists and libraries, site settings, and page layouts, in memory on the front-end Web server computer as shown below.

CacheShare3.jpg

As a result, the pages that require these items are able to be rendered quickly, increasing the speed with which pages are delivered to the client browser. Object cache settings can be configured at the Web application level, and at the site collection level. By default, the object cache is on at the site collection level as shown below. For example, individual site collections might have the object cache set at 100 MB, while the Web application might be set at 1 GB. In this case, no more than 1 GB of memory will be used by all the caches on the server.

CacheShare4.jpg

When a publishing control requests the object cache to make a query to get data for the control, the cache makes the query, not as the user making the request, but instead it makes the query twice: once as the Portal Super User account and once as the Portal Super Reader account. The results of these two queries are stored in the object cache. The results for the Portal Super User account include draft items, and the results for the Portal Super Reader account include only published items. The object cache then checks the access control lists (ACLs) for the user who initiated the request and returns the appropriate results to that user based on whether that user can see draft items. By adding the Portal Super User and Portal Super Reader accounts to the Web application, the cache must store results for only two users. So if there are multiple simultaneous users accessing the same object this internal impersonation decreases the amount of memory that is needed to store the cache.

Points to remember

Profile Cache

SharePoint Server 2010 adds a more precise mechanism for customizing output caching in the form of cache profiles, which are list-style cache settings that you can name and apply to pages, page items, content types, and levels of scale in your site deployment.

By using cache profiles, you can control the level of granularity applied to output caching; allow or disallow site owners and administrators to choose their own cache profiles and apply them flexibly to page layouts; and target output caching at the site-collection level, the site level, and the page layout level.

CacheShare5.jpg

You can organize caching behavior based on a user's access rights to a site. For example, you may have three groups defined:

Output caching renders the page the same way for users with the same rights, so you can use cache profiles to target caching to specific audience groups. In the cache profiles that SharePoint Server 2010 delivers by default, the caching system renders the page once per group of user access rights and then caches the resulting HTML stream. The next user with the same access rights gets the stream from the cache.

Points to remember