《设计数据密集型应用程序书》中的阅读响应时间百分比



在《设计数据密集型应用程序》一书中,有这样一句话:

例如,如果第95个百分位的响应时间为1.5秒,则意味着100个请求中有95个的响应时间小于1.5秒,100个请求的响应时间中有5个需要1.5秒或更长时间。

令人困惑的是,其中95个请求的时间不到1.5秒。这不应该是95个请求需要1.5秒或更短的时间,而剩下的5个请求需要超过1.5秒吗?或者,第95百分位中的百分之一正好需要1.5秒,第89百分位及以下的百分位需要不到1.5秒,而第96百分位以上的百分位数需要超过1.5秒?这些数字的正确读数是多少?

我对此做了一些研究,发现了几篇文章。有趣的是,有些人说我说的,有些人不说。

读取类似于95%请求的百分比的一些链接需要1.5或更低

  • 平均第90百分位响应时间和平均响应时间

90%是一种统计测量,在JMeter的情况下,这意味着90%的采样器响应时间小于或等于该时间

  • https://www.dynatrace.com/news/blog/why-averages-suck-and-percentiles-are-great/

因此90%的请求在3.0秒内或更短的内得到处理

  • https://www.adfpm.com/adf-performance-monitor-monitoring-with-percentiles

如果同一事务的第90个百分位数为1000ms,则意味着90%的事务速度相同或更快,只有10%的事务速度较慢。

读取类似于95%请求的百分比的其他链接占用的时间小于1.5

  • https://www.elastic.co/blog/averages-can-dangerous-use-percentile

相比之下,第99个百分位数表示"99%的值小于850ms",这是一个非常不同的画面。

我从这个网站上得到了答案,据他们说,这两个都是真的。这取决于百分位排名的计算方式:

"百分位数"一词在上述定义中被非正式使用。在常用情况下,百分位数通常表示某个百分比低于该百分位数。例如,如果你的分数在第25个百分位,那么25%的考生低于你的分数。"25"被称为百分位数。在统计学中,它可能会变得有点复杂,因为"百分位数"实际上有三个定义。以下是前两个(定义3见下文(,基于任意的"第25百分位":

定义1:第n个百分位数是大于分数的某个百分比("n"(的最低分数。在这个例子中,或者n是25,所以我们要寻找大于25%的最低分数。

定义2:第n个百分位数是大于或等于某个分数百分比的最小分数。换言之,它是指数据中低于或等于某一观测值的百分比。这是AP统计中使用的定义。在本例中,第25个百分位数是大于或等于分数的25%的分数。

最新更新