Share via


SharePoint 2013 Distributed Cache recommendations

Shortlist on recommendations/remarks when it comes to AppFabric for SharePoint 2013:

  • Might sound strange, but don't disable/remove the Distributed Cache Cluster on your Farm even if it for instance performs better without, solve the issue instead.
  • Before disconnecting a server from the farm, make sure that it is not part of the AppFabric Cluster, as it will break it.
  • Install the latest AppFabric CU and make sure the Garbage Collection section is added to the config file.

Latest at time of writing (CU7):
https://support.microsoft.com/en-us/kb/3092423
GC:
https://blogs.msdn.com/b/calvarro/archive/2014/03/20/points-to-consider-with-distributed-cache-on-sharepoint-2013.aspx

  • There are articles out there that tell you it is ok to perform unsupported procedures.

If you want to use AppFabric for custom caches, don't use the SharePoint Cache Cluster, build a separate one for that.
Don't run AppFabric Tools for managing your AppFabric Cluster or Hosts, only use Distributed Cache PS commands.
The AppFabric "Windows" service should not be touched at all, meaning, don't change the account manually, nor start/stop the service or change the password for the account. Only exception would be that someone changed the account manually before, and you only want to revert back to the one AppFabric is aware of, but even then it might be better to simply remove and add the server as a Cache Host instead.
As with almost everything on DB level in SharePoint, don't touch the Cluster Details in the config DB.
The AppFabric Export-CacheClusterConfig functionality should not be used to manipulate the Cluster nor Hosts, unless verified by MS Support, there are "very" few reasons to do so anyway, as most can be done through other ways.

  • Change the values for the caches from day 1 as recommended, if need be increase even more.

https://technet.microsoft.com/en-us/library/jj219613.aspx#finetune

  • Run AppFabric on WFE's (unless they are struggling to keep up), not Application servers, if possible use dedicated Cache Hosts.
  • Don't run AppFabric on servers that have services running that will compete for HW resources.

Can contradict with the previous statement, but if you are in a situation where WFE's are overloaded and you have a limited amount of App servers, I would really consider adding dedicated servers.
https://technet.microsoft.com/en-us/library/jj219572.aspx

  • Increase memory allocation sufficiently based on MS recommendation or even more if you see the Caches are overloaded.

https://technet.microsoft.com/en-us/library/jj219613.aspx#memory

  • Don't go overboard with the number of Cache Hosts, having 10 WFE's does not mean you need 10 Cache Hosts, 2-3 will be enough in most cases.
  • Use the script on Technet for a Graceful shutdown of a Host, don't forget to run Use-CacheCluster before ;)

https://technet.microsoft.com/en-us/library/jj219613.aspx#graceful

  • After doing maintenance to Cache Hosts, check that all are healthy and match memory size and service acccount.

Use-CacheCluster
Get-CacheHost
Export-CacheClusterConfig -Path C:\export.txt

  • When virtualizing your SharePoint servers make sure you are not using Virtual Memory.
  • When you ran into an issue and the Cluster is in an unhealthy state from which you simply can't recover due to for instance unsupported actions, rebuild your Farm instead of trying to fix it manually.

https://technet.microsoft.com/en-us/library/jj219613.aspx
The Distributed Cache service can end up in a nonfunctioning or unrecoverable state if you do not follow the procedures that are listed in this article.
In extreme scenarios, you might have to rebuild the server farm.
The Distributed Cache depends on Windows Server AppFabric as a prerequisite.
Do not administer the AppFabric Caching Service from the Services window in Administrative Tools in Control Panel.
Do not use the applications in the folder named AppFabric for Windows Server on the Start menu.

  • Solving an issue with AppFabric usually comes down to going over your list of recommendations, known issues and misconfiguration, if the issue persists after that, well ... Houston.
  • I'd highly recommend to make sure your Cluster is configured best practice before starting to troubleshoot, it can save you a lot of pain and effort.

 

Related articles:

https://blogs.technet.com/b/filipbosmans/archive/2015/01/04/troubleshooting-distributed-cache-for-sharepoint-2013-on-premise.aspx

https://blogs.technet.com/b/filipbosmans/archive/2015/09/07/how-to-check-for-issues-with-distributed-cache-and-the-script.aspx