White Papers
Determining the appropriate queue depth for an ESXi host
71 Dell EMC SC Series: Best Practices with VMware vSphere | 2060-M-BP-V
A Determining the appropriate queue depth for an ESXi host
Adjusting the queue depth on ESXi hosts is a complicated subject. On one hand, increasing it can remove
bottlenecks and help to improve performance (if there are enough back-end disks to handle the incoming
requests). However, if set improperly, the ESXi hosts could overdrive the controller front-end ports or the
back-end disks and potentially make the performance worse.
The general guideline is to set the queue depth high enough to achieve an acceptable number of IOPS from
the back-end disks. At the same time, it should not be set too high to allow an ESXi host to flood the front or
back end of the array. The following sections provide a few basic pointers.
A.1 Fibre Channel
With 2 Gb SC Series front-end (FE) ports:
• Each 2 Gb FE port has a maximum queue depth of 256, and care must be taken to not overdrive it.
• It is best to leave the ESXi queue depths set to default and only increase them if necessary.
• The recommended settings for controllers with 2 Gb FE ports are:
- HBA BIOS = 255 (if available)
- Driver module = 32 (default) (The driver module regulates the HBA Queue depth)
- DSNRO= 32 (default)
- Guest vSCSI controller = 32 (default)
With 4/8/16 Gb SC Series front-end ports:
• Each 4/8/16 Gb front-end port can accept many more (~1900+) outstanding I/Os.
• Since each FE port can accept more outstanding I/Os, the ESXi queue depths can be set more
flexibly to accommodate guest I/O. Keep in mind, the queue depth may need to be decreased if the
front-end ports become saturated, the back-end disks become maxed out, or the latencies become
too high.
• The recommended settings for controllers with 4/8/16 Gb FE ports are:
- HBA BIOS = 255 (if available)
- Driver module = 255
- DSNRO = 32 (default) (increase or decrease as necessary)
- Guest vSCSI controller = 32 (default) (increase or decrease as necessary)