Maybe not fixed exactly, but ultimately, this problem is addressed quite nicely in Win2K (although it would arguably be better had the older % Disk Time Counters – now obsolete –not been retained).
Windows 2000 adds a new Counter to the Logical and Physical Disk Objects called % Idle Time. Disk idle time accumulates in diskperf when there are no outstanding requests for a volume.
Having a measure of disk idle time permits you to calculate % Disk busy = 100 – % Idle Time, which is a valid measure of disk utilization
Then you can calculate Disk Service time = % Disk busy / Disk transfers/sec. This is an application of the Utilization Law, namely:
u = service time * arrival rate
Finally, calculate Disk Queue time = Avg. Disk secs/transfer – Disk service time, which follows from the definition of response time = service time + queue time.
So measuring Logical and Physical Disk % Idle Time solves a lot of problems. It allows us to calculate disk utilization and derive both disk service time and queue time measurements for disks in Windows 2000.