VMware

vSAN and SQL Server Cluster Performance

My company has an application that has a SQL Server 2016 database running on a virtualized Microsoft SQL cluster. That SQL Cluster is hosted on a Dell VxRail HyperConverged VMware cluster with a vSAN backend. All hosts are running on ESXi 6.7 U2. The SQL Cluster was built using vSAN’s iSCSI service to provide the shared storage. I know iSCSI is not ideal, but we don’t have a Fibre Channel-based SAN in our datacenter and this was the only way to provide shared storage to 2 VMs in order to cluster them. This cluster was built before VMware allowed shared direct-attached VMDKs across hosts in 6.7 U3.

We’ve been getting reports from the application owners that the app is slow and they’re blaming the SQL Server. They’ve even brought the app vendor in to run some checks on the SQL cluster and they noticed that there is some write latency (~80+ ms) on the TempDB database. The iSCSI LUN where TempDB resides has all-Flash SSDs, and has a vSAN storage policy of pretty much a RAID 1 equivalent. There is only one stripe per object. Would it be possible to decrease the write latency by increasing the stripes per object to 2? Any other suggestions?

Other pieces of information that might be useful:

* OS: Windows Server 2016
* SQL Version: Microsoft SQL Server 2016 Standard (13.0.5492.2)
* vCPU: 24 (2 x 12-core vCPUs)
* RAM: 128 GB
* NIC type: VMXNET3


View Reddit by galland101View Source

Related Articles

2 Comments

  1. If you’re using vSAN iSCSI, then I assume the hosts running the SQL cluster VMs are not the same hosts that have the local storage for the vSAN datastore. What is the networking like between the hosts running the VMs and the hosts running the vSAN datastore? That would be the first place I’d look for latency.

    You can also check the stats in vCenter for the vSAN cluster to see what its write latency looks like. If it is showing very low latency, then the issue is somewhere further up the stack.

Leave a Reply

Your email address will not be published. Required fields are marked *

Close