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 galland101 – View Source