Windows 2000 Disk Queue Performance Counters
In Microsoft Windows 2000, monitoring storage subsystems is essential for identifying I/O bottlenecks and ensuring optimal server responsiveness. This article details the specific performance counters within Windows 2000 Performance Monitor (PerfMon) that measure disk queue lengths, outlines the difference between physical and logical disk objects, and explains how to interpret these metrics to detect performance degradation.
Performance Monitor Disk Objects
To monitor disk queues in Windows 2000, Performance Monitor utilizes two primary performance objects:
- PhysicalDisk: Tracks counters associated with a specific hard disk drive or RAID array as presented to the operating system. This is the primary object used to identify hardware-level bottlenecks.
- LogicalDisk: Tracks counters associated with
partitions or drive letters (such as
C:orD:). This object helps determine which specific partition is generating the highest I/O demands.
(Note: In Windows 2000, PhysicalDisk counters are enabled by
default, but LogicalDisk counters may require enabling via the command
line utility diskperf -yv followed by a system
reboot.)
Key Counters for Tracking Disk Queue Length
Windows 2000 provides four primary counters to evaluate how many read and write requests are waiting to be processed:
1. Current Disk Queue Length
- Description: Represents the instantaneous count of requests waiting on the disk at the precise moment the sample is collected.
- Use Case: Provides a point-in-time snapshot. Because it captures a single instant rather than a rolling average, it frequently fluctuates and should be viewed over time to establish a pattern rather than relied upon for single-sample assessments.
2. Avg. Disk Queue Length
- Description: Calculates the average number of both read and write requests queued and waiting for service during the sampling interval.
- Use Case: This is the primary metric for diagnosing disk bottlenecks. It combines all I/O traffic to provide an accurate representation of total pending workload.
3. Avg. Disk Read Queue Length
- Description: Measures the average number of read requests that were queued during the sample period.
- Use Case: Used to isolate whether read operations (such as database queries or file loading) are specifically congesting the disk subsystem.
4. Avg. Disk Write Queue Length
- Description: Measures the average number of write requests waiting in line during the sample period.
- Use Case: Useful for determining if log generation, file copying, or data persistence operations are saturating storage write bandwidth.
Interpreting Disk Queue Length Values
When analyzing queue length counters, a common baseline for a single
physical spindle is that the Avg. Disk Queue Length should
generally remain below 2. Sustained values consistently higher than 2
typically indicate that the disk subsystem cannot keep up with
transaction requests, pointing to a storage bottleneck.
For multi-spindle environments, such as hardware RAID arrays, the
acceptable threshold scales with the number of underlying physical
disks. To calculate the effective queue length on a RAID set, divide the
reported Avg. Disk Queue Length by the number of physical
disks in the array dedicated to data handling.