Windows Server 2012 File Server Tip: Enable CSV Caching on Scale-Out File Server Clusters

Cluster Shared Volumes (CSV) in Windows Server 2012 has a great new feature to allow using system memory as a write-through cache. Since Scale-Out File Server Clusters use CSV, enabling this CSV cache has a huge impact on the performance of this type of File Server. This has a direct impact on common scenarios like Hyper-V over SMB, especially when used for roles that use differencing disks like Virtual Desktop Infrastructure (VDI). The base VHD file is frequently used in these scenarios and they will typically end up cached in memory.

Even with a modest amount of memory dedicated to the cache, you will see significant performance improvements. You can start with just 512MB of RAM and do some testing. If you have more memory, you can dedicate more for the cache. In fact, you can use up to 20% of the total physical RAM for this cache. For instance, with a file server with 32GB of RAM, you could dedicate 6GB of memory for caching.

A recent TechEd presentation by File Server PM Claus Joergensen has shown the impact of using the CSV cache in a VDI environment:

image

As you can see above, when using 8GB of RAM for caching in a Hyper-V over SMB scenario with VDI, boot time for a set of 5,120 VMs (deployed using 16 Hyper-V hosts, 320 VMs per host) was dramatically improved. The average boot time for a VM went from 211 seconds without the CSV cache to just 29 seconds with the CSV cache, with 90% of VMs booting in less than 40 seconds.  You can see the full video for this TechEd presentation at https://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/WSV410.

You can read more about the CSV cache, including how to enable it, in this blog post by Cluster PM Elden Christensen: https://blogs.msdn.com/b/clustering/archive/2012/03/22/10286676.aspx.