how to check Qlogic HBA adapter Queue depth in windows 2008 r2?
how to check Qlogic HBA adapter Queue depth in windows 2008 r2? Qlogic model is QMH2462.. i tried checking in below reg entry..but not sure in windows 2008 it's default value is 32..please help me to understand .. qd Per Microsoft DDK, Microsoft storport.sys maintains a device queue for each device it controls and the storport interface allows the underlying miniport to set the maximum queue depth of the device queue. The maximum queue depth value, as was told by Microsoft port driver developer, is 254. Qlogic sets the default value to 32. Please note that the Microsoft storport.sys driver has total control of the queue depth of the device queue, qlogic miniport merely sets the value using the predefined storport interface call and procedure as informed by Microsoft. Please use the following procedure to change the qd parameter: 1. Click on "Start", select "Run", and open the REGEDIT/REGEDT32 program. 2. Select HKEY_LOCAL_MACHINE and follow the tree structure down to the QLogic driver as follows: HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Ql2300 Parameters Device 3. Double click on DriverParameter:REG_SZ:qd=32 4. If the string "qd=" does not exist, append to end of string ;qd=32 5. Enter a value upto 254 (0xFE). The default value is 32 (0x20). 6. Click OK. 7. Exit the Registry Editor, then shutdown and reboot the system. ======================================================================
February 25th, 2012 9:22am

Ideally Storage team has to tell what is the QD that needs to be set on the HBA based on how many LUNS are published on a particular port Queue depth is the number of I/O operations that can run in parallel on a device Calculating the queue depth\Execution Throttle value To prevent flooding the target port queue depth, the result of the combination of number of host paths + execution throttle value + number of presented LUNs through the host port must be less than the target port queue depth. In short T => P * q * L T = Target Port Queue Depth P = Paths connected to the target port Q = Queue depth L = number of LUN presented to the host through this port Your Storage admins can give you more info on the nature of infrastructure you have Thank you, Shani
Free Windows Admin Tool Kit Click here and download it now
March 20th, 2012 4:13am

Thank you Shani! Is execution Throttle and Queue depth both are same? Sunil Kumar Devangam
March 22nd, 2012 9:50am

By default a QLogic HBA Execution Throttleis set to 16. This setting specifies the maximum number of outstanding (SCSI / Fiber Channel) commands that can execute on any single Target port(WWPN). When a Target portsExecution Throttleis reached, the host computer will not issue any new commands until one of the current commands finishes executing. To increase the number of outstanding (SCSI / Fiber Channel) commands to the Target port,increase the Execution Throttle. However, increasing the Execution Throttlebeyond what the Target portmay handle will cause SCSI timeouts to occur. According to QLogic it is considered a Best Practiceto optimize performance for all devices that may communicate with the Target port. To do this QLogic recommends that you divide the Target port'sMaximum Outstanding Commands (or Queue) by the number of host ports (Initiators) that access the Target port. This type of computation is used to determine the Target portfan-in ratio as well. (Maximum Storage Port Command Queue) / (Host Ports) = Execution Throttle
Free Windows Admin Tool Kit Click here and download it now
March 22nd, 2012 12:28pm

For Qlogic execution Throttle is the term for Queue depth and for Emulex adapters it is termed as queue depthThank you, Shani
March 23rd, 2012 1:10am

Ideally Storage team has to tell what is the QD that needs to be set on the HBA based on how many LUNS are published on a particular port Queue depth is the number of I/O operations that can run in parallel on a device Calculating the queue depth\Execution Throttle value To prevent flooding the target port queue depth, the result of the combination of number of host paths + execution throttle value + number of presented LUNs through the host port must be less than the target port queue depth. In short T => P * q * L T = Target Port Queue Depth P = Paths connected to the target port Q = Queue depth L = number of LUN presented to the host through this port Your Storage admins can give you more info on the nature of infrastructure you have Thank you, Shani
Free Windows Admin Tool Kit Click here and download it now
March 23rd, 2012 4:18am

Hi Shani, Thanks a lot for your confirmation. I see Queue depth for Qlogic HBA is 16 by default and storage team recommends to increase queue depth..could you please tell me how much we need to incerase..based on what parameters? i believe if we incresase at only server HBA level will not be useful, unless we made the settings change at storage controller side as wel.. could plese elaborate more on this.? thank you
March 23rd, 2012 4:49am

Install Qlogic SANSurfer software in the server In the HBA port# Click parameter tab Select Advance HBA parameters You can see the queue depth in the Execution throttleThank you, Shani
Free Windows Admin Tool Kit Click here and download it now
March 23rd, 2012 5:02am

There are some caveats around queue depth it seems: Increasing the hba depth will have a negative impact on your performance unless your OS io queue is constantly high. Qlogic Execution Throttle Qlogic has a firmware setting called Execution Throttle which specifies the maximum number of simultaneous commands the adapter will send. The default value is 16, increasing the value above 64 has little to no effect, because the maximum parallel execution of SCSI operations is 64. -T-
May 17th, 2012 10:54pm

I believe finding the optimal queue depth setting is a combination of art and science. Every environment is unique. The default queue depth setting is simply the default starting point. Ideally, one would measure and record the performance of the individual HBA as well as the overall performance of the fibre channel storage controller for a full week before making any adjustments. The issue is fibre channel HBA's are usually members of a storage network, thus, one must consider the good of the many versus the good of one. Under certain conditions one server with maximum queue depth settings could saturate the storage controller and cause many other servers HBA's to have increased latency and timeout. In reality sometimes a queue depth of 1 is the optimal setting, especially if round robin multipath is enabled and there are many servers accessing a shared LUN. A queue depth of 1 only allows one I/O to the storage controller then the next server will be allowed one I/O etc. The result is each server has a lower I/O rate but the storage controller and the overall storage network runs more smoothly. On the other hand, if you only have one server then the maximum depth of 64 would be optimal. PS One of the most important storage network tuning parameters is data transfer size. It is critical that the data transfer size be the same or smaller than the storage controllers block size. Most storage network controllers have a default block size of 64KB or 128KB. The Qlogic HBA driver has a default size of 512KB. In the first case the storage controller would receive the 512KB block in its buffer, then segment it into 8 64KB blocks, then write them to disk, in the second case, the storage controller would buffer the 512KB, then segment it into 4 128KB blocks, then write them to disk. The optimal setting is to match HBA driver block size to the size of the storage controllers block size.
Free Windows Admin Tool Kit Click here and download it now
May 29th, 2012 2:48pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics