VMware Queue Depth

I know every ESX admin has dealt with storage performance issues at some point. Most detailed research includes modifying the HBA queue depth.

Basically queue depth is the number of outstanding requests between the HBA and storage. I believe the default is 32. This is normally fine, but with VMware you are sharing the HBA so if you have a multitude of high i/o servers, you may have more than 32 requests.

When the queue length is reached there is basically a SCSI reset and communications is briefly halted. This can cause performance issues if it happens often.

You can use ESXTOP in disk mode to see your queues. If you decide to change them you can use esxcfg-module as per below (from http://communities.vmware.com/message/790859#790859):

Set the HBA queue length to 64 on all adapters

to get driver: vmkload_mod -l | grep qla for q logic

vmkload_mod -l | grep lpfcdd for exmulex

to change q logic

esxcfg-module -s "ql2xmaxqdepth=nn"

esxcfg-boot -b or esxcfg-boot -m

reboot

to change on emulex

esxcfg-module -s "lpfc0_lun_queue_depth=nn lpfc1_lun_queue_depth=nn"

esxcfg-boot -b or esxcfg-boot -m

reboot

Comments

Popular posts from this blog

HPONCFG GUI Utility / Tool Download Links - x32 & x64 bit versions, 2003 & 2008 Windows Versions

IBM x3650 M4 Series Server Model - Activation Keys Backup to be taken for IMM Moduel II, why?

How To: Steps to Boot HP Proliant Server with internal USB flash drive