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

QLogic

-p ql2xmaxqdepth=value

-m qlnativefc

QLogic native drivers

-p lpfc0_lun_queue_depth=value

-m lpfc820

Emulex

-p lpfc0_lun_queue_depth=value

-m lpfc

Emulex native drivers

-p bfa_lun_queue_depth=value

-m bfa

Brocade

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.