233

P99 延迟代表什么?我在有关应用程序性能的讨论中不断听到此消息,但在网上找不到可以讨论此问题的资源。

4

4 回答 4

322

这是第 99 个百分位。这意味着 99% 的请求应该比给定的延迟更快。换句话说,只有 1% 的请求被允许变慢。

于 2012-10-09T21:54:03.117 回答
66

我们可以通过一个类比来解释,如果 100 名学生参加比赛,那么 99 名学生应该在“延迟”时间内完成比赛。

于 2016-06-24T18:55:59.763 回答
52

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

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

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

于 2019-10-30T15:14:34.867 回答
17

让我们从这里举个例子

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

所以我们可以说,99% 的 Web 请求,发现的平均延迟为 1.3 毫秒(毫秒/微秒取决于您配置的系统延迟测量)。就像@tranmq 告诉我们的那样,如果我们减少服务的 P99 延迟,我们可以提高它的性能。

还值得注意的是 p95,因为可能很少的请求使 p99 比 p95 更昂贵,例如)构建缓存、类对象预热、线程初始化等的初始请求。所以 p95 可能会减少最差的 5%案例场景。仍然在这 5% 之外,我们不知道实际噪声情况与最坏情况输入的百分位数。

最后; 我们的测量中可能有大约 1% 的噪声(如网络拥塞、中断、服务降级),因此 p99 延迟几乎可以很好地代表最坏的情况。而且,几乎总是,我们的目标是减少 p99 延迟。

于 2019-11-07T14:47:04.200 回答