资源监视器 - 磁盘 - 响应时间

资源监视器 - 磁盘 - 响应时间

我注意到资源监视器(resmon)和 perfmon 报告的磁盘响应时间之间存在差异。

资源监视器中报告的响应时间明显高于 perfmon 中平均磁盘秒/传输报告的延迟。

有人知道如何解释资源监视器和 perfmon 中的响应时间指标之间的差异吗?

以下链接中提出了同样的问题,但我不清楚解决方案。

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

答案1

数字不同是因为两个计数器测量不同的东西。

perfmon 中的“平均磁盘秒/传输”计数器只是告诉您系统上任何位置的任何磁盘传输所花费的平均时间。此计算的开销相对较小。

资源监视器的“磁盘活动”部分中的“响应时间”列并不是同一个东西。请注意它是如何按每个进程和每个正在访问的单独文件进行细分的。由于进程优先级、线程优先级、I/O 优先级、调度程序开销、文件系统开销等不同,因此每个文件和每个进程的此数字都不同...例如,由于上述调度算法,后台服务的“响应时间”几乎总是高于前台应用程序。有时一个进程的磁盘活动会被推迟,而另一个进程会插队。

考虑到这一点,资源监视器中显示的“响应时间”数字高于性能监视器中的平均磁盘秒/传输计数器就完全合理了。

故事的寓意是,它们是两个完全独立的计数器,测量两个完全不同的东西,不应该期望它们会匹配。

相关内容