View Storage Accelerator vs. VirtuCache – VMware Host Side Storage Caching
The big difference between the two is that VSA can cache only reads and only from the Master/Replica VM in Horizon VDI.1,2 VirtuCache caches reads and writes from all server & desktop VMs, and it can cache to TBs of in-host SSD or RAM, with the goal of servicing all storage IO from in-host cache.
Regarding VSA, there are three terms that are used interchangeably. VSA is the same as Horizon Storage Accelerator and Content Based Read Cache (CBRC). CBRC is an ESXi configuration at the host level, and it is exposed to the VMware administrator via the VSA feature only.
More details in the table below.
Feature |
VirtuCache |
View Storage Accelerator |
---|---|---|
Works for server and VDI VMs. |
No. Works only with Horizon View VDI. Does not work for server VMs or non-VMware VDI like Xen Desktop. |
|
Caches to host RAM. |
Yes. No restriction on the amount of RAM that can be used. |
Yes. It can use a maximum of 32GB RAM per host.2 |
Caches to in-host SSD. |
Yes. No restriction on the amount of SSD capacity that can be used. |
No.2 |
Improves the performance of VM reads. |
Yes. All reads from VMs (server and VDI) are cached. |
Only data that is shared across all Horizon View VDI VMs (common blocks) are cached, which means that only a subset of reads from master / replica VM in Horizon is cached.3 |
Improves the performance of VM writes. |
Yes. All writes from VMs (server and VDI) are cached. |
No.2 |
Speeds up VM creation and deletion. |
Yes, because VirtuCache caches IO originating in the ESXi kernel. VM provisioning and deletion are ESXi kernel processes. |
No. |
Admin Overhead. |
Assign caching policy to VMs or Datastores once. No ongoing administration required after. |
Requires periodic ‘Regeneration’ of index, during which time VMs might be slow or inaccessible.4. VMs larger than 512GB are not supported.5 Turning on VSA requires recompose. |
Typical customer configuration and cost. |
$3000 per ESXi host for a perpetual license. Typically, our customers use a 2TB NVME/PCIe SSD as cache media per host. |
Bundled with Horizon View. By default, 1GB RAM is assigned to VSA on a per host basis. |
Summary
Though View administrators compare us to VSA, you should compare price/performance of VirtuCache to an all-flash array instead, since the storage acceleration VirtuCache provides is across all your VMs, and it is typically configured to use larger amounts of cache media than VSA, which ensures that most, if not all, storage IO is served from in-host cache media, making VirtuCache performance comparable to all-flash arrays. If VirtuCache is used to cache to host RAM, then the resulting performance could be better than an all-flash array, since AFAs do not use RAM in the storage IO path, and RAM is the highest performing media there is.
VMware authored cross-references.
1 – Search for ‘read common data blocks from cache’ on pg 39 of this Horizon architecture document on vmware.com.
2 – Search for ‘Specify a default host cache size’, that section says ‘The cache size must be between 100MB and 32,768MB.’ in the Horizon Administrator Guide on this link on vmware.com.
3 – Search for ‘Common Blocks’ in the Horizon Administrator Guide on this link on vmware.com.
4 – Search for ‘View Storage Accelerator might take tens of minutes to generate or regenerate the digest files for large virtual disks (for example, a 100 GB virtual disk). As a result, the desktop might be inaccessible for longer than expected.’ in the Horizon Release Notes on this link on vmware.com.
5 – Search for ‘View Storage Accelerator is disabled on virtual machines that are larger than 512GB.’ in the Horizon Release Notes on this link on vmware.com.