Loading

×Sorry to interrupt
Uncaught ReferenceError: addCTracking is not defined
throws at https://kb.vmware.com/resource/KM_TealiumTrackingJS?v=0.5:100:1

Refresh

Cookie Preference Center

General Information on cookies

When you visit our website, we use cookies to ensure that we give you the best experience. This information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies by clicking on the different category headings to find out more and change your settings. However, blocking some types of cookies may impact your experience on the site and the services we are able to offer. Further information can be found in our

Cookie Policy.

Strictly Necessary

Strictly Necessary

Always Active

Strictly Necessary

Strictly necessary cookies are always enabled since they are essential for our website to function. They enable core functionality such as security, network management, and website accessibility. You can set your browser to block or alert you about these cookies, but this may affect how the website functions. For more information please visit www.aboutcookies.org or www.allaboutcookies.org.

Cookie Details‎

Performance

Performance

Performance

Performance cookies are used to analyze the user experience to improve our website by collecting and reporting information on how you use it. They allow us to know which pages are the most and least popular, see how visitors move around the site, optimize our website and make it easier to navigate.

Cookie Details‎

Please confirm your settings by refreshing the page.

Functional

Functional

Functional

Functional cookies help us keep track of your past browsing choices so we can improve usability and customize your experience. These cookies enable the website to remember your preferred settings, language preferences, location and other customizable elements such as font or text size. If you do not allow these cookies, then some or all of these services may not function properly.

Cookie Details‎

Advertising

Advertising

Advertising

Advertising cookies are used to send you relevant advertising and promotional information. They may be set through our site by third parties to build a profile of your interests and show you relevant advertisements on other sites. These cookies do not directly store personal information, but their function is based on uniquely identifying your browser and internet device.

Cookie Details‎

Advertising Cookies

Consent Leg.Interest

Select All Vendors

Select All Vendors

Select All Hosts

Select All

Clear Filters

Information storage and access

Apply

Confirm My Choices Reject All Allow All

Skip to main content

My Subscriptions

Loading

Knowledge Base

Changing the queue depth for QLogic, Emulex, and Brocade HBAs (1267)

Last Updated: 10/2/2023Categories: How toTotal Views: 333266Language:
Chinese (Simplified)JapaneseEnglish

33 like this article

Subscribe to get an email
newsletter with new updates

33 people found this helpful Please provide article feedback:

Learn how VMware Skyline Advisor and Skyline Health Diagnostics work together to provide proactive intelligence and self-service log analysis.

Use Skyline Advisor to avoid issues before they occur across VCF, vSphere, vSAN, NSX, vROps & Horizon. Skyline Findings are based on top KBs, VMSAs/CVEs and design best practices.

Use Skyline Health Diagnostics to root cause vSphere & vSAN logs when an issue occurs. Skyline Health Diagnostic Findings are based on top KBs and VMSA/CVEs. You can use the Skyline Health Diagnostics tool in online or offline mode.

If you require additional help from technical support, please use Skyline Advisor to initiate a Log Assist to reduce time to upload logs. TSEs can also initiate logs to reduce effort.

Details

If the performance of your host bus adapters (HBAs) is unsatisfactory, or your SAN storage processors or heads are over-utilized, you can adjust your ESXi hosts' maximum queue depth values. The maximum value refers to the queue depths reported for various paths to the LUN. When you lower this value, it throttles the ESXi host's throughput and alleviates SAN contention concerns if multiple hosts are over-utilizing the storage and are filling its command queue.

When one virtual machine is active on a LUN, you only need to set the maximum queue depth. When multiple virtual machines are active on a LUN, the Disk.SchedNumReqOutstanding value is also relevant. The queue depth value, in this case, is equal to whichever value is the lowest of the two settings: adapter queue depth or Disk.SchedNumReqOutstanding.

Note: The per-host parameter Disk.SchedNumReqOutstanding is deprecated in vSphere 5.5 to accommodate modification on a per-LUN basis. For more information, see Setting the Maximum Outstanding Disk Requests for virtual machines (1268).

Solution

This table lists the default Queue Depth values for QLogic HBAs for various ESXi/ESX versions:

NOTE: these are for your reference, any specific questions should be directed to the hardware vendor.

ESXi/ESX version

Queue depth

3.5 with driver version 6.04

16

3.5 with driver version 6.07 & 7.x

32

4.0

32

4.1

32

5.0

64

5.1

64

5.5

64

6.x

64

From the earliest versions of ESX/ESXi, the default Queue Depth value for Emulex adapters has been 32 by default, and because 2 buffers are reserved, 30 are available for I/O data.

From lpfc 12.8.317.0 (for ESXi 6.5 and 6.7) and 12.8.329.0 (for ESXi 7.0), the default queue depth is 64. See Emulex Drivers for VMware ESXi. Release Notes.

The default Queue Depth value for Brocade adapters is 32.

Notes:

VMware recommends keeping the HBA Vendors uniform across all hosts participating in a cluster. If you are using a mixed environment (for example, with QLogic and Emulex), VMware recommends keeping the Queue Depth value the same across all the hosts in the cluster.

If you are applying a host profile which includes Queue Depth settings and a host reboot is required after application, note that queue depth values can only be modified at boot time. Reboot the host and confirm that the Queue Depth values are set correctly. The capability to modify Queue Depth variables is reliant on a compatible driver, and some async drivers may not allow the Queue Depth to be set correctly.

For Broadcom adapters using bnx2fc driver, it is possible to control queue depth via bnx2fc_queue_depth parameter. For information on driver versions that support this parameter, see FCoE Driver Tuning for VMware ESXi, Linux, and Windows.

For Emulex adapters, starting 11.2 driver versions there are two separate drivers:

lpfc- used for FC adapters (LightPulse)

brcmfcoe- used for FCoE adapters (OneConnect)

Parameters names for brcmfcoe are the same as for lpfc.

For more information, see Emulex Software Kit Migration Guide.

Cisco VIC adapters: These adapters use fnic driver and the parameter is called fnic_max_qdepth. For more information, see Guide Cisco UCS fNIC Tunables.

ESXi 6.x and later

To adjust the queue depth for an HBA:

Verify which HBA module is currently loaded by entering one of these commands on the service console:

For QLogic:

# esxcli system module list | grep qln

For Emulex:

# esxcli system module list | grep lpfc

For Brocade:

# esxcli system module list | grep bfa

Run one of these commands:

Note: The examples show the QLogic and Emulex modules. Use the appropriate module based on the outcome of the previous step.

For QLogic:

# esxcli system module parameters set -p ql2xmaxqdepth=64 -m qlnativefc

For Emulex:

# esxcli system module parameters set -p lpfc0_lun_queue_depth=64 -m lpfc

For Brocade:

# esxcli system module parameters set -p bfa_lun_queue_depth=64 -m bfa

Notes:

In these commands, both ql2xmaxqdepth and lpfc0 use the lowercase letter L, "l", and not the numeric digit 1.

In this case, the HBAs have their LUN queue depths set to 64.

If all Emulex cards on the host must be updated, apply the global parameter, lpfc_lun_queue_depth instead.

Reboot your host.

Run this command to confirm that your changes have been applied:

# esxcli system module parameters list -m driver

Where driver is your QLogic, Emulex, or Brocade adapter driver module, such as lpfc, qlnativefc, or bfa.

The output appears similar to:

Name Type Value Description
-------------------------- ---- ----- --------------------------------------------------
.....
ql2xmaxqdepth int 64 Maximum queue depth to report for target devices.
.....

Resources

To set the Disk.SchedNumReqOutstanding value, see Setting the Maximum Outstanding Disk Requests for virtual machines (1268).

For more information about how storage queues affect performance, see Storage Queues and Performance on the VMware Communities.

For more information about the default values and configuration options for the Emulex VMware drivers, see Emulex Drivers for VMware ESXi User Guide

For more information on controlling the LUN queue depth throttling, see Controlling LUN queue depth throttling in VMware ESXi/ESX (1008113).

For information on how to check the current values of the storage adapter and storage device queue depth, see Checking the queue depth of the storage adapter and the storage device (1027901).

Note: The preceding links were correct as of Oct 2nd, 2023. If you find a link is broken, provide feedback and a VMware employee will update the link.

Additional Information

For translated versions of this article, see:

Español: Cambiar la profundidad de cola para HBA de QLogic y Emulex (2055208)

日本語: QLogic および Emulex HBA のキューの深さの変更 (2078482)

简体中文: 更改 QLogic 和 Emulex HBA 的队列深度 (2074838)

Detectable by VMware SkylineTM

Actions

Copy

link to clipboard
copied!

Print

Language:
Chinese (Simplified)JapaneseEnglish

Attachments

Additional Resources

No results for undefined

Ask The Community

Get answers quickly from VMware experts in the community

Post Subject

CONTINUE IN COMMUNITIES

Related Products:

VMware vSphere ESXi

Related Versions:

VMware vSphere ESXi 6.7

VMware vSphere ESXi 6.5

VMware vSphere ESXi 6.0

VMware vSphere ESXi 5.5

VMware vSphere ESXi 5.1

VMware vSphere ESXi 5.0

Take Our Survey

Was this article helpful?

YES

NO

Copyright © 2005-2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.

Terms of Use

Your California Privacy Rights

Privacy

Accessibility

Cookie Settings

Support Assistant