为什么 perfmon 中的平均值与从 csv 计算出的平均值不同?

为什么 perfmon 中的平均值与从 csv 计算出的平均值不同?

我正在查看 perfmon 中的物理磁盘\平均磁盘秒/传输计数器。我们一直相信 perfmon 在选定的时间范围内报告的平均数字。

我不明白为什么如果我使用 perfmon 将数据保存到 .csv,或者将整个 blg 重新记录到 .csv,excel 中 '=Average(A:A)' 计算出的数字与工具中报告的数字大不相同。多年来似乎有几个人在各种论坛上问过这个问题,但我没有看到任何答案。具体来说,perfmon 工具中报告的平均 Avg. Disk sec/Transfer 为 .041,但 =AVERAGE(SY:SY)(这是包含此数据的 SY 列,PhysicalDisk(2 T:)\Avg. Disk sec/Transfer)返回 0.008787746。这甚至不在同一水平。我甚至尝试使用 AverageIf 来排除值为 0 的列……几乎没有区别。

顺便说一句 - 计数器记录在 Server 2003 32 位机器上,并在 Win 7 64 位机器上进行分析。

有任何想法吗?

答案1

严格来说,从数学角度来看,平均数的平均值是错误的数学。想想看。一个平均值可能是 10 次测量,另一个是 50 次测量。因此,将它们平均在一起会给前一组条目赋予过多的权重,而给第二组条目赋予较少的权重。

我不知道这是否是这里发生的情况。您是否尝试过使用其他瞬时统计数据?

此外,perfmon 可能仅对图表上的当前条目进行平均。

格雷格

答案2

这可能与平均值的计算方式有关。较新版本的 Perfmon 使用不同的计算方式:

http://blogs.msdn.com/b/ntdebugging/archive/2013/09/30/performance-monitor-averages-the-right-way-and-the-wrong-way.aspx

这一变化归结为,新版本的 perfmon 会将每次测量的读取量考虑在内。我猜,如果您在 Windows 2003 服务器上的 perfmon 中打开文件,您将获得与 Excel 中相同的平均值。

相关内容