"顶级百分位"或基于TP的延迟是什么意思?

use*_*840 37 performance latency distributed-system

当我们讨论分布式系统的性能时,我们使用术语tp50,tp90,tp99.99 TPS.有人可以解释一下我们的意思吗?

Ser*_*sky 75

tp90是90%的请求已被提供的最短时间.想象一下你有时间:

10s
1000s
100s
2s
Run Code Online (Sandbox Code Playgroud)

计算TP非常简单:

  • 按升序排序所有时间:[2s,10s,100s,1000s]
  • 找到你需要计算的部分中的最新项目.对于TP50,它将提交(4*.5)= 2个请求.你需要第二个请求.对于TP90,它将是ceil(4*.9)= 4.你需要第4个请求.
  • 获得上面找到的项目的时间.TP50 = 10秒.TP90 = 1000

  • 这似乎与百分位数的统计定义不符。您应该对两个最接近的索引取平均值,而不要使用上限来查找索引。例如,在4元素列表中,TP50是第二和第三元素的平均值,而不仅仅是第二元素。(这是假设TP50表示第50个百分位数。)精确的公式为i =(k / 100)(n + 1)以找到所需的索引,其中k是百分位数,n是列表中元素的数量。如果我不是整数,则将两个最接近的索引取平均值。 (2认同)