Fix SQL Server Slow Performance Caused by Disk IO Issues in VMware
If performance issues in SQL Server are caused by slow storage1 in VMware, then VirtuCache software is the quickest and simplest way to fix this issue. You install VirtuCache software in VMware vSphere host. It then automatically caches all reads and writes from VMs to any SSD or RAM in the ESXi host. VirtuCache subsequently services all VM reads and writes from ESXi host SSD / RAM, instead of IO being serviced from backend SAN array. By doing so VirtuCache improves the storage performance of VMware VMs. With VirtuCache in the storage IO path, storage performance of VMware VMs no longer depends on your storage array or storage network. VirtuCache works for any ESXi release, any SAN array, and supports all VMware features seamlessly. It is installed in the ESXi kernel only, there is no software installed in VMs. You can assign TBs of SSD/RAM to VirtuCache to ensure all the storage IO is cached. Here is a link with technical details about VirtuCache.
VirtuCache is very easy to use. You can sign up for a software download here. You can install VirtuCache in less than 10 minutes per host and without requiring host maintenance mode. We recommend that you evaluate it with your production SQL Server VMs. Don’t worry, VirtuCache is really stable, we have been in the business 10 years and have over 1200 customers using it. 😊 BTW, VirtuCache improves the storage performance of any VMware VMs, not just SQL Server VMs.
To be sure, there are other options to improve VM storage performance, you could upgrade your storage array and network. However, that would be much more expensive and disruptive than using VirtuCache.
Another option is to assign large amounts of VM RAM to SQL Server. This is a built-in feature in SQL Server. It uses VM RAM assigned to it to cache reads, but it doesn’t cache writes. So, queries will be faster, but transactions won’t. Also, in all applications reads and writes are interspersed on the same thread. By not accelerating writes, reads that are on the same thread but behind the writes won’t be accelerated, even though these reads will likely be serviced from VM RAM when they get to the front of the queue. Hence, you’d need to cache both reads and writes, even if it is a read intensive application.
For more details on how VirtuCache accelerates SQL Server IO, please review this link that compares the storage IO path in SQL Server with and without VirtuCache, and compares it to SQL Server’s utilization of VM RAM.
1 -If the storage I/O related wait times in SQL Server and Windows Perfmon parameters listed on this Microsoft post, or VM level latency as reported by VMware, are more than 10ms, then your performance issues in SQL Server are caused by slow storage.