Introduction
The Distributed Cache service provides caching features in SharePoint Server 2013. The Distributed Cache service is built on Windows Server AppFabric, which implements the AppFabric Caching service. Windows Server AppFabric installs with the prerequisites for SharePoint Server 2013. This is how Microsoft defined the Distributed Cache service but what is depend on the Distributed Cache service ?
Table: Different caches that depend on the Distributed Cache service
Name | Cache name | |
---|---|---|
Login Token Cache | DistributedLogonTokenCache | |
Feed Cache | DistributedActivityFeedCache | |
Last Modified Time Cache | DistributedActivityFeedLMTCache | |
OneNote Throttling | DistributedBouncerCache | |
Access Cache | DistributedAccessCache | |
Search Query Web Part | DistributedSearchCache | |
Security Trimming Cache | DistributedSecurityTrimmingCache | |
App Token Cache | DistributedServerToAppServerAccessTokenCache | |
View State Cache | DistributedViewStateCache | |
as you can see the Distributed Cache service is very important to your SP2013 farm and without it SP will not functional will.
Dedicated or Collocated Mode
The Distributed Cache service can run in dedicated or collocated mode. When running in dedicated mode, the Distributed Cache service is started and all other services are stopped on the server. In collocated mode, the Distributed Cache service is running along with other services on the server. lately Steve Peschka write a great blog post about that you need to run yours Distributed Cache service on the dedicated mode and informed us that this is a best practice Dedicating Servers to Distributed Cache in SharePoint 2013
Appfabric Cache is High Available but Distributed Cache service is not
Even if the Distributed Cache service is built upon the Appfabric Cache but its not high available which mean that if your server host DCS goes down all your cache will go. This is why you need to run
Stop-SPDistributedCacheServiceInstance –Graceful
with the –Graceful parameter if you want to stop the service in one of the its servers so the cache can be copied to other server hosting the DCS in your farm
Capacity planning for the Distributed Cache service
The following table lists different memory and architecture recommendations for the Distributed Cache service, depending on the total number of users.
Deployment size | Small farm | Medium farm | Large farm |
---|---|---|---|
Total number of users | < 10,000 | < 100,000 | < 500,000 |
Recommended cache size for the Distributed Cache service | 1 GB | 2.5 GB | 12 GB |
Total memory allocation for the Distributed Cache service (double the recommended cache size above) | 2 GB | 5 GB | 24 GB |
Recommended architectural configuration | Dedicated server or co-located on a front-end server | Dedicated server | Dedicated server |
Minimum cache hosts per farm | 1 | 1 | 1 |
So How to make it Semi High Available
even if the above table mentioned that the minimum cache hosts per farm is 1 server my recommendation is that you need at least 2 servers runs only the DCS ( in Dedicated Mode) so if one if it goes down your farm can still be working with the other server.
finally the below diagram show how the office division implement their SP2013 farm
http://go.microsoft.com/fwlink/p/?LinkId=286957
as you can see they use 2 servers with 14 GB RAM each.
Original Post:
http://mahmoudhamed.wordpress.com/2013/09/12/how-to-make-sharepoint-2013-distributed-cache-service-semi-high-available/