If you are not satisfied with the performance of your hardware bus adapters (HBAs), change the maximum queue depth on your ESXi host.

The maximum value refers to the queue depths reported for various paths to the LUN. When you lower this value, it throttles the host's throughput and alleviates SAN contention concerns if multiple hosts are overutilizing the storage and are filling its command queue.

To adjust the maximum queue depth parameter, use the vCLI commands.

In the procedure, --server=server_name specifies the target server. The specified target server prompts you for a user name and password. Other connection options, such as a configuration file or session file, are supported. For a list of connection options, see Getting Started with vSphere Command-Line Interfaces.


Install vCLI or deploy the vSphere Management Assistant (vMA) virtual machine. See Getting Started with vSphere Command-Line Interfaces. For troubleshooting, run esxcli commands in the ESXi Shell.


  1. Verify which HBA module is currently loaded by entering the following command:
    esxcli --server=server_name system module list | grep module

    Use one the following options for module.

    Option Description
    qla QLogic
    qln QLogic native drivers
    lpfc Emulex
    bfa Brocade
  2. Adjust the queue depth for the appropriate module.
    esxcli --server=server_name system module parameters set -p parameter=value -m module

    Use the following strings for the parameter and module options.

    String Description

    -p ql2xmaxqdepth=value

    -m qla2xxx


    -p ql2xmaxqdepth=value

    -m qlnativefc

    QLogic native drivers

    -p lpfc0_lun_queue_depth=value

    -m lpfc820


    -p lpfc0_lun_queue_depth=value

    -m lpfc

    Emulex native drivers

    -p bfa_lun_queue_depth=value

    -m bfa

  3. Reboot your host.
  4. Verify your changes by running the following command: esxcli --server=server_name system module parameters list -m=module.
    module is an appropriate driver, such as qlnativefc or bfa.