Setting queue depths on VMware hosts

Use the esxcfg-module command to change the HBA timeout settings. Manually updating the esx.conf file is not recommended.

To set maximum queue depth for a QLogic HBA

Procedure

  1. Log on to the service console as the root user.
  2. Use the #vmkload_mod -l command to verify which Qlogic HBA module is currently loaded.
  3. For a single instance of a Qlogic HBA, run the following command: #esxcfg-module -s ql2xmaxqdepth=64 qla2300_707
    Note: This example uses qla2300_707 module. Use the appropriate module based on the output of vmkload_mod -l.
  4. Save your changes using the following command: #/usr/sbin/esxcfg-boot -b
  5. Reboot the server using the following command: #reboot
  6. Confirm the changes using the following commands:
    1. #esxcfg-module -g qla2300_707
    2. qla2300_707 enabled = 1 options = 'ql2xmaxqdepth=64'

To change the queue depth of an Emulex HBA

Procedure

  1. Log on to the service console as the root user.
  2. Use the #vmkload_mod -l grep lpfcdd command to verify which Emulex HBA is currently loaded.
  3. For a single instance of an Emulex HBA, enter the following command: #esxcfg-module -s lpfc0_lun_queue_depth=16 lpfcdd_7xx
    Note: Depending on the model of the HBA, the module can be either lpfcdd_7xx or lpfcdd_732. The above command uses the lpfcdd_7xx module. You should use the appropriate module based on the outcome of vmkload_mod -l.
    Running this command will set the LUN queue depth to 16 for the HBA represented by lpfc0.
  4. For multiple instances of an Emulex HBA, run the following command: a esxcfg-module -s "lpfc0_lun_queue_depth=16 lpfc1_lun_queue_depth=16" lpfcdd_7xx
    The LUN queue depth for lpfc0 and the LUN queue depth for lpfc1 is set to 16.
  5. Enter the following command: #esxcfg-boot -b
  6. Reboot using #reboot.