You may want to change the queue depth for several reasons... Support recommendations / Performance tuning etc.

Here I will show you how to change the queue depth for a Qlogic HBA from 32 to 64.

VMware default this to 32 as this generally is the best for most configurations, however everyone has different needs.

 

  

  

1. List the Qlogic HBA types:

/usr/sbin/esxcfg-module -l | grep -i ql
vmw_satp_eql        0x418029e5d000    0x1000        0x417feacad2a0    0x1000        16    Yes
qla2xxx             0x418029e9f000    0x38000       0x417feacd2440    0xda000       22    Yes
  
  
2. List the Qlogic HBas on your ESX server:
ls /proc/scsi/qla2xxx/
4  5
  
  
3. Display the detailed information for one of the specific HBAs:

cat /proc/scsi/qla2xxx/4
QLogic PCI to Fibre Channel Host Adapter for QLE2460:
        Firmware version 4.04.09 [IP] [Multi-ID] [84XX] , Driver version 8.02.01-k1-vmw43
BIOS version 2.02
FCODE version 2.00
EFI version 2.03
Flash FW version 4.04.02
ISP: ISP2432
Request Queue = 0x41813000, Response Queue = 0x41894000
Request Queue count = 4096, Response Queue count = 512
Total number of interrupts = 5036
    Device queue depth = 0x20
Number of free request entries = 3679
Number of mailbox timeouts = 0
Number of ISP aborts = 0
Number of loop resyncs = 1
Host adapter:loop state = <READY>, flags = 0x105ac3
Dpc flags = 0x0
MBX flags = 0x0
Link down Timeout =  045
Port down retry =   005
Login retry count =   008
Execution throttle = 2048
ZIO mode = 0x6, ZIO timer = 1
Commands retried with dropped frame(s) = 0
Product ID = 0000 0000 0000 0000
NPIV Supported : Yes
Max Virtual Ports = 127
 
SCSI Device Information:
scsi-qla0-adapter-node=2000001b329328b8:610813:0;
scsi-qla0-adapter-port=2100001b329328b8:610813:0;
 
FC Target-Port List:
scsi-qla0-target-0=5006016941e00787;
scsi-qla0-target-1=5006016041e00787;
 
FC Port Information:
scsi-qla0-port-0=50060160c1e00787:5006016941e00787:610113:81;
scsi-qla0-port-1=50060160c1e00787:5006016041e00787:610013:82;

  
  
4. View the modules loaded for the Qlogic HBA:
/usr/sbin/esxcfg-module -g qla2xxx
qla2xxx enabled = 1 options = ''
 
 
5. Display the current Queue Depth for the Qlogic HBA:
cat /proc/scsi/qla2xxx/4 | grep -i "queue depth"
    Device queue depth = 0x20
 
 
6. Change the Queue Depth for the HBA to 64:
/usr/sbin/esxcfg-module -s ql2xmaxqdepth=64 qla2xxx
 
 
7. Check the change is shown in the "esx.conf":
cat /etc/vmware/esx.conf | grep -i ql
/vmkernel/module/qla2xxx.o/options = "ql2xmaxqdepth=64"
 
 
 
8. Reboot the ESX server for the change to take effect:
NOTE: Ensure the ESX server is in maintenance mode and all VMs are either vMotioned to another server or powered off.
reboot
 
 
9. Display the current Queue Depth for the Qlogic HBA:
cat /proc/scsi/qla2xxx/4 | grep -i "queue depth"
    Device queue depth = 0x40
The queue depth has now been sucessfully changed for this HBA from 32 to 64.
To change the queue depth on additional HBAs in the ESX server, repeat steps 5 to 9.

Share this blog post on social media:

Social Links

Disclaimer

All advice, installation/configuration how to guides, troubleshooting and other information on this website are provided as-is with no warranty or guarantee. Whilst the information provided is correct to the best of my knowledge, I am not reponsible for any issues that may arise using this information, and you do so at your own risk. As always before performing anything; check, double check, test and always ensure you have a backup.

Copyright ©2008-2021 Andy Barnes - Please do not copy any content including images without prior consent!

Designed and Hosted by Andy Barnes

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.