Resource Monitor - Disk - Response Time

I've noticed a difference between the disk response time reported in Resource Monitor (resmon) and perfmon.

The Response Time reported in Resource Monitor is notably higher than the latency reported by Avg. Disk Sec/Transfer in perfmon.

Anybody know what explains the differences between the response time metrics in Resource Monitor and perfmon?

The same question was asked at the following link but I'm not clear on the resolution.

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/50183f87-de7e-4ec0-ba7e-45a52c3550d3/io-latency-differs-between-perfmon-and-sysdmiovirtualfilestats?forum=sqldatabaseengine


The numbers are different because the two counters are measuring different things.

The "Avg. Disk Sec/Transfer" counter in perfmon is simply telling you the average time taken for any disk transfer anywhere on the system. There is relatively little overhead baked into this calculation.

The "Response Time" column in the "Disk Activity" section of Resource Monitor is not the same thing. Notice how it is broken down by each process and each individual file being accessed. This number is different for each file and each process because you have differing process priority, thread priority, I/O priority, scheduler overhead, file system overhead, etc... For example, the "Response Time" for background services will almost always be higher than that of foreground applications, because of the aforementioned scheduling algorithms. Sometimes one process's disk activity will get deferred while another process gets to cut to the front of the line.

With this in mind, it makes perfect sense that the "Response Time" numbers shown in Resource Monitor are higher than the Avg. Disk Sec/Transfer counter in Performance Monitor.

Moral of story, they're two totally separate counters measuring two totally different things and there should be no expectation that they should match.