Loadrunner 分析:第 90 个百分位数怎么会高于平均值?

Loadrunner Analysis: How can the 90th percentile be higher than the average?

有点困惑。我从 运行 的一份报告中得到了一些负载 运行ner 分析。我是测试新手。我对第 90 个百分位数的理解是,考虑到它采用第 90 个百分位数并排除异常值,它呈现出更真实的画面。尽管我正在查看两个不同的报告,并且在两个报告中,第 90 个百分位的响应时间都高于摘要报告中给出的平均响应时间。这怎么可能?

我正在查看事务响应时间(百分位数)图表和最后 10% 的上升,因此告诉我,采用 90% 应该会看到更短的响应时间。

 Example
Transaction 1

Min 0.012
Avg 1.919
Max 20.935
SD 2.718
90 Percentile 6.412

很多交易或多或少都是这样的。为什么第 90 个百分位数高于平均值?

第 90 个百分位数表示 90% 的值低于此值。在这种情况下,价值将是您的响应时间。因此,如果您有 1000 个值并且第 90 个百分位数是 n,那么这些值中的 900 个将低于 n,而只有 100 个高于 n - 因此平均值较小是有道理的高于第 90 个百分位数。

中位数是第 50 个百分位数。它将始终低于 90%。如果您的数据集的一小部分非常长,则平均值实际上可能高于第 90 个百分位数,从而将整个数据集的平均值拉高。

贾尔斯说: "The 90th percentile means that 90% of the values fall below this value. The value in this case would be your response time. So if you had 1000 values and the 90th percentile is n, 900 of those values would be below n, and only 100 above n -- so it makes sense that the average is less than the 90th percentile." 抱歉,我看不出它有什么意义。我会说,如果你去掉最长的响应,剩下的就是较短的响应时间,所以在这种情况下,当你计算较小数字的平均值时,你会得到较小的数量:90% 总是小于平均,肯定不是这样!

90% 的百分位数不是为了展示网站对 90% 的客户的表现而发明的吗?那么,收集所有最常出现的结果并切断一些不经常发生的罕见极端(两端)?这可以解释为什么在 loadrunner 的输出中平均值几乎总是小于 90percentile。 ? 我认为这就是它的工作原理: Pic: 90% calculation

均值与 n 分位数/中位数/四分位数/百分位数非常不同。

可以设置一个平均值 > 中位数甚至第 90 个百分位数 < 平均值的值。 它们根本不是一回事。

看到这个https://math.stackexchange.com/questions/382117/average-is-higher-than-percentile-90

人们对其数据所做的一般假设依赖于未说明的假设,即数据服从均值 ~= 中位数(如高斯分布)的中心分布。

看看幂律/帕累托定律,看看这个假设有多么错误。 这同样适用于多峰分布。 在没有适当分析的情况下不要做这样的假设是至关重要的,否则这只是某种“数据废话”

(顺便说一句,这就是平均收入提供的信息少于收入中位数的原因)