VMs with multiple VMDKs report high Disk Read and/or Write Latency inside the VM/GuestOS while the latency to the storage array is healthy
search cancel

VMs with multiple VMDKs report high Disk Read and/or Write Latency inside the VM/GuestOS while the latency to the storage array is healthy

book

Article ID: 392848

calendar_today

Updated On:

Products

VMware vSphere ESXi VMware vSphere ESXi 5.0 VMware vSphere ESXi 5.5 VMware vSphere ESXi 5.x - View VMware vSphere ESXi 6.0 VMware vSphere ESXi 7.0 VMware vSphere ESXi 8.0

Issue/Introduction

An Administrator will observe high read and/or write latency inside VMs (IE: Windows VMs reporting high Avg. Disk Read Latency or Avg. Disk Write Latency) when a VM uses multiple disks, however the same latency is not being reported to the Storage Array. Also, the VMs are likely configured for only a single SCSI controller.

Cause

When utilizing multiple VM disks for a VM, it is recommended to configure that VM for multiple SCSI controllers. While ESXi 6.7 introduces the ability to attached up to 64 devices per controller, this can cause an IO bottleneck to occur as each SCSI controller has a maximum queue depth. By placing too many disks on a single SCSI controller, IO can back up within the GuestOS itself which results in the VM reporting high latency while there is no reported latency to the Storage Array.

Resolution

VMware recommends implementing multiple SCSI controllers (up to 4) for VMs that have multiple disks in order to logically distribute disk IO and avoid creating an artificial bottleneck scenario. This is especially true for high IO VMs such as SQL. Here is a excerpt from the SQL Server On VMware Best Practices Guide:

Use multiple PVSCSI adapters. VMware supports up to four (4) adapters per a VM and as many as necessary, up to this limit, should be leveraged. Placing OS, data, and transaction logs onto a separate vSCSI adapter optimizes I/O by distributing load across multiple target devices and allowing for more queues on the OS level. Consider distributing disks between controllers. vSphere 6.7 introduces supports of up to 64 disks per controller.