By Zoë Dunning
This article describes two Windows Performance Monitor disk queue length counters—Current Disk Queue Length and Average Disk Queue Length—identifies potential problems, and provides basic solutions.
“\Local Disk\Current Disk Queue Length” is a direct measurement of the number of requests present at the time that the performance data is collected. It also includes requests in service at the time of the data collection. This is an immediate record, not an average over the time interval like Average Disk Queue Length. Multi-spindle disk devices can have multiple requests that are active at one time but other requests are awaiting service.
“\Local Disk\Average Disk Queue Length” is the average number of both read (Avg. Disk Read Queue Length) and write (Avg. Disk Write Queue Length) requests that were queued for the selected disk during the performance data interval. Unlike Current Disk Queue Length, Avg. Disk Queue Length is a derived value and not a direct measurement.
Green= Current Disk Queue Length; Blue= Avg. Disk Queue Length
For both Current and Avg. Disk Queue Length, 5 or more requests per disk could suggest that the disk subsystem is bottlenecked. If the requests per second counter shows a high count, this could indicate low memory issues, and low memory could cause disk performance issues if the disk subsystem has to continuously process paging operations.
If the previous interval of the Current Disk Queue Length matches the performance data for the current interval, then the Avg. Disk Queue Length data is an accurate representation of your storage system condition.
However, if the Avg. Disk Queue Length is greater than 2 per hard disk for a prolonged period of time, it may produce a bottlenecked system. If you have a RAID system with 8 disks, the Avg. Disk Queue Length should not exceed 16.
Having an excess of files that are being accessed will seriously increase your Avg. Disk Queue Length, resulting in a disk bottleneck. Say you have 1,000 1MB files. They will take up more storage space and require more processing than a single 1GB file due to the longer time spent opening and closing all the files. To consolidate the multitude of small files, you may want to consider compressing them into an archive if possible.
However, this may be time-consuming and not the root issue. If your disk performance is poor, your options are to upgrade your disk, hard drive controller, or implement stripe set. Use the following formula to find the Avg. Disk Queue Time: Avg. Queue Time = Disk Queue Length x Avg. Disk sec/Transfer. This will provide you with a relative performance measurement and should be compared with other hard disk drives in your system. The higher the number of requests waiting in the command queue, the slower the disk performance.
We’d like to hear from you what you think of this article and whether it helped you or not. What counters would you like us to discuss next?