Web Services 什么是P99延迟?

nukf8bse  于 2022-11-15  发布在  其他
关注(0)|答案(5)|浏览(454)

P99延迟代表了什么?我一直在讨论应用程序的性能时听到这个问题,但在网上找不到讨论这个问题的资源。

jei2mxaa

jei2mxaa1#

它是99th percentile。这意味着99%的请求应该比给定的延迟更快。换句话说,只有1%的请求被允许更慢。

ruyhziif

ruyhziif2#

我们可以通过一个类比来解释,如果100个学生在跑一场比赛,那么99个学生应该在“潜伏”时间内完成比赛。

bqucvtff

bqucvtff3#

假设您正在收集服务的性能数据,下表是结果的集合(延迟值是虚构的,用于说明这个概念)。

Latency    Number of requests
1s         5
2s         5
3s         10
4s         40
5s         20
6s         15
7s         4
8s         1

您的服务的P99延迟为7秒。只有1%的请求花费的时间比这长。因此,如果您可以减少服务的P99延迟,则可以提高其性能。

zujrkrfu

zujrkrfu4#

让我们以here为例

Request latency:
    min: 0.1
    max: 7.2
    median: 0.2
    p95: 0.5
    p99: 1.3

所以我们可以说,99%的Web请求的平均延迟是1.3ms(毫秒/微秒取决于您配置的系统延迟度量)。就像@tranmq说的,如果我们降低服务的P99延迟,我们就可以提高它的性能。
p95也值得注意,因为可能很少的请求使得p99比p95更昂贵,例如,构建缓存、类对象预热、线程初始化等的初始请求。因此,p95可能削减了5%的最坏情况。仍然在这5%之外,我们不知道真实的的噪声情况与最坏情况输入的百分比。
Finally;我们在测量中可能会有大约1%的噪声(如网络拥塞、中断、服务质量下降),因此p99延迟可以很好地代表实际上最坏的情况。而且,我们的目标几乎总是要降低p99延迟。

u5i3ibmn

u5i3ibmn5#

P99它通过一个类比来解释:If 100 horses are running in a race, 99 horses should complete the race in less than or equal to "latency" time. Only 1 horse is allowed to finish the race in time higher than "latency" time.
这意味着,如果P99为10ms,则99%的请求的延迟应小于或等于10ms。

相关问题