![为什么 perfmon 中的平均值与从 csv 计算出的平均值不同?](https://linux22.com/image/547204/%E4%B8%BA%E4%BB%80%E4%B9%88%20perfmon%20%E4%B8%AD%E7%9A%84%E5%B9%B3%E5%9D%87%E5%80%BC%E4%B8%8E%E4%BB%8E%20csv%20%E8%AE%A1%E7%AE%97%E5%87%BA%E7%9A%84%E5%B9%B3%E5%9D%87%E5%80%BC%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
我正在查看 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 使用不同的计算方式:
这一变化归结为,新版本的 perfmon 会将每次测量的读取量考虑在内。我猜,如果您在 Windows 2003 服务器上的 perfmon 中打开文件,您将获得与 Excel 中相同的平均值。