A number of servers are experiencing slower than expected performance. Analyzing the server,
switch, and storage logs do not indicate any issues. You have been asked by the customer to
address this issue.
What will improve performance?
Increase the current queue depth setting from 1.
Change the frame size from 2148 bytes,
Decrease the buffer-to-buffer credits setting.
Enable write caching functionality for the device driver.
One Comment on “What will improve performance?”
Windows Queue Depth: This is a parameter in Window’s STORport driver that defines the number of outstanding I/Os per LUN.
Microsoft’s storport.sys (part of the Microsoft Driver Development Kit [DDK]) maintains a device queue for each device it controls and the STORport driver interface allows the underlying miniport to set the maximum (yes maximum) queue depth of the device queue. This is explained well in an MSDN blog: Understanding Storage Timeouts and Event 129 Errors
The Microsoft STORport driver (storport.sys) has total control of the Queue Depth of the device queue, The QLogic miniport driver (ql2300.sys, etc) merely sets the value using the predefined storport interface call and procedure as set forth by the Microsoft DDK.
The maximum Queue Depth value, as defined by the Microsoft DDK, is 254 and QLogic sets the default Queue Depth value based on the Firmware Execution Throttle. The default Queue Depth value is set when the driver is loaded and is based off the Execution Throttle as described below:
For 8Gb HBAs:
Default Execution Throttle (ET) value = 65,535 and the corresponding Queue Depth (QD) Value = 254
If ET value is 1- 253, corresponding QD value = 1- 253
If ET value > 253, corresponding QD value = 254
For 4Gb HBAs:
Default Execution Throttle value=256 (for some OEM’s) and 16 (for Channel), with the corresponding Queue Depth value of 254 and 16 respectively.
If ET value is 1-253, corresponding Queue Depth value = 1- 253
If ET value is > 253, corresponding Queue Depth value = 254