If the performance of your hardware bus adapters (HBAs) is unsatisfactory, or your SAN storage processors or heads are over-utilized, you can adjust your ESXi/ESX hosts’ maximum queue depth value. The maximum value refers to the queue depths reported for various paths to the LUN. When you lower this value, it throttles the ESXi/ESX host’s throughput and alleviates SAN contention concerns if multiple hosts are over-utilizing the storage and are filling its command queue.
When one virtual machine is active on a LUN, you only need to set the maximum queue depth. When multiple virtual machines are active on a LUN, the Disk.SchedNumRegOutstanding value is also relevant. The queue depth value, in this case, is equal to whichever value is the lowest of the two settings: adapter queue depth or Disk.SchedNumReqOutstanding
Instructions
- On vSphere 4, go to Hosts and Clusters > Configuration > Software . Advanced Settings
- Highlight Disk and scroll down to Disk.SchedNumReqOutstanding
- Change Queue Depth to 64
- Open Putty or Local Console
- Verify which HBA module is currently loaded by entering one of these commands on the service console:
- vmkload_mod -l | grep qla
- vmkload_mod | grep lpfc
- As you can see the first command did not return anything but the second command returned information about the Emulex driver
- To modify Q Logic, do the following
- To modify Emulex, do the following
- For multiple instances of Emulex HBAs being presented to a system, use:
- Reboot your host
- Run this command to confirm if your changes are applied
- esxcfg-module -g driver. Where driver is your QLogic or Emulex adapter driver module, such as lpfc820 or qla2xxx.
VMware Links