In Windows NT and Windows 2000 the integrated Performance Monitor has the capabilities to monitor an impressive array of system functions. However, if you are troubleshooting or trying to monitor disk I/O performance, there are objects that are critical to your efforts that are not enabled by default.
On Windows NT both the "PhysicalDisk" and "LogicalDisk" performance objects are unavailable by default. To enable them, enter "diskperf -y" at a command prompt. Following a reboot you will see these objects in Performance Monitor. If you are interested only in monitoring one object and not the other ("PhysicalDisk" or "LogicalDisk"), you can selectively enable and disable them using other "diskperf" options.
On Windows 2000 the "PhysicalDisk" performance object is available by default but the "LogialDisk" object is not. To enable it enter "diskperf -yv" at a command prompt. Following a reboot you will see the "LogicalDisk" object in Performance Monitor.
To see all available options for the "diskperf" command, enter "diskperf/?" at a command prompt.
I find that the "Avg. Disk Queue Length" counter of the "PhysicalDisk" performance object is a good general indicator for determining if disk I/O to a specific disk has become a performance bottleneck on a system. In general, if more than a couple I/O requests are waiting in a queue on a disk, it represents a theoretical delay in system processing. However, it is best to monitor your systems over a period of time and build a performance baseline before taking action based upon a single counter's indications. The dynamics of the interaction between your hardware components and the type of load placed upon your system may show that your investments are better spent on other components.
This was first published in March 2001