Performance history for drives

Applies to: Windows Server 2022, Windows Server 2019

This sub-topic of Performance history for Storage Spaces Direct describes in detail the performance history collected for drives. Performance history is available for every drive in the cluster storage subsystem, regardless of bus or media type. However, it is not available for OS boot drives.


Performance history cannot be collected for drives in a server that is down. Collection will resume automatically when the server comes back up.

Series names and units

These series are collected for every eligible drive:

Series Unit per second
physicaldisk.iops.write per second per second bytes per second
physicaldisk.throughput.write bytes per second bytes per second seconds
physicaldisk.latency.write seconds
physicaldisk.latency.average seconds bytes
physicaldisk.size.used bytes

How to interpret

Series How to interpret Number of read operations per second completed by the drive.
physicaldisk.iops.write Number of write operations per second completed by the drive. Total number of read or write operations per second completed by the drive. Quantity of data read from the drive per second.
physicaldisk.throughput.write Quantity of data written to the drive per second. Total quantity of data read from or written to the drive per second. Average latency of read operations from the drive.
physicaldisk.latency.write Average latency of write operations to the drive.
physicaldisk.latency.average Average latency of all operations to or from the drive. The total storage capacity of the drive.
physicaldisk.size.used The used storage capacity of the drive.

Where they come from

The iops.*, throughput.*, and latency.* series are collected from the Physical Disk performance counter set on the server where the drive is connected, one instance per drive. These counters are measured by partmgr.sys and do not include much of the Windows software stack nor any network hops. They are representative of device hardware performance.

Series Source counter Disk Reads/sec
physicaldisk.iops.write Disk Writes/sec Disk Transfers/sec Disk Read Bytes/sec
physicaldisk.throughput.write Disk Write Bytes/sec Disk Bytes/sec Avg. Disk sec/Read
physicaldisk.latency.write Avg. Disk sec/Writes
physicaldisk.latency.average Avg. Disk sec/Transfer


Counters are measured over the entire interval, not sampled. For example, if the drive is idle for 9 seconds but completes 30 IOs in the 10th second, its will be recorded as 3 IOs per second on average during this 10-second interval. This ensures its performance history captures all activity and is robust to noise.

The size.* series are collected from the MSFT_PhysicalDisk class in WMI, one instance per drive.

Series Source property Size
physicaldisk.size.used VirtualDiskFootprint

Usage in PowerShell

Use the Get-PhysicalDisk cmdlet:

Get-PhysicalDisk -SerialNumber <SerialNumber> | Get-ClusterPerf

Additional References