【问题标题】:What is P99 latency?什么是 P99 延迟?
【发布时间】:2012-09-30 07:26:11
【问题描述】:

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

【问题讨论】:

    标签: web-services networking web-applications p99


    【解决方案1】:

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

    【讨论】:

    • 只有 1% 的请求预计会变慢。
    【解决方案2】:

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

    【讨论】:

    • Should 不是will
    • 另外,
    • 是第99名的学生过线的时候了。
    • 我喜欢这个比喻。
    • 如果只有 50 个学生怎么办?
    【解决方案3】:

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

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

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

    【讨论】:

      【解决方案4】:

      让我们以here为例

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-07
        • 2011-06-19
        • 1970-01-01
        • 1970-01-01
        • 2013-05-29
        • 1970-01-01
        • 1970-01-01
        • 2013-01-12
        相关资源
        最近更新 更多