Performance counter for iSCSI
Published Mar 16 2019 04:03 AM 1,473 Views
First published on TECHNET on Dec 03, 2010

I know most of my blogs are kind of long but when I came across this information I felt a need to do a quick entry about it as the information is really hard to find.

A customer recently asked me about one of our iSCSI performance counters. It was the Average Request Processing Time for the iSCSI Request Processing Time object. He wanted to know what this counter does.

The first problem I ran into was finding the counter on any of my computers. It turns out that the iSCSI Request Processing Time object is only exposed in Performance Monitor when there is an active iSCSI connection. All my sessions were inactive at the time, so I didn’t see it.

The reason for this is that when we establish a session with an iSCSI target we query to find out how many commands the device can hold.  This is used in the calculation below. Without an active session, we couldn’t do the calculation and therefore wouldn’t be able to display the object.

Average Request Processing Time:

When we send the device a request, we start a timer. Then when the request completes we stop the timer.  The time it took to complete is the Request Time.  We add the Request Time to the Cumulative Time, and divide by the number of requests that were added into the Cumulative Time.  That gives us the average.  When the Cumulative Time holds the Request Times equal to 5 times the number of requests that the device can hold, then we reset the Cumulative Time…starting over again.  The maximum for this counter is the largest calculated value.


Assume that the device can handle 2 requests (using a low number to keep things simple). We would process 10 requests (5x2)…

Request1: Completes in 30ms

Request2: Completes in 25ms

Request3: Completes in 10ms

Request4: Completes in 15ms

Request5: Completes in 100ms

Request6: Completes in 14ms

Request7: Completes in 25ms

Request8: Completes in 20ms

Request9: Completes in 26ms

Request10: Completes in 36ms

So if we average that out…










+ 36ms


301ms/10 = 30.1ms

So the counter would read 30.1ms for that time.

This counter would be handy if you were troubleshooting a disk performance issue and wanted to get information on how quickly iSCSI requests were being handled. This would be similar to using logical and physical disk counters. However this data would come from much lower in the storage stack.

Robert Mitchell

Senior Support Escalation Engineer

Microsoft Enterprise Platforms Support

Want to know more about Microsoft storage?  Check out my blogs... ...

Share this post :

Version history
Last update:
‎Mar 16 2019 04:03 AM
Updated by: