P90、P95、P99 Latency Percentilesとは?パフォーマンス指標(Performance Metrics)を理解する
- P90、P95、P99 Latencyはパフォーマンス指標(Performance Metrics)で、システムの応答時間を測定する方法の1つです。これはシステムのパフォーマンスを測定し、システムの応答時間を分析するために使用されます。
- P90、P95、P99 Latencyはそれぞれ90%、95%、99%の応答時間を示します。
- P90:90%の要求がこの時間以内に処理されたことを意味します。
- P95:95%の要求がこの時間以内に処理されたことを意味します。
- P99:99%の要求がこの時間以内に処理されたことを意味します。
- 上記の説明だけを見たときには理解しにくい場合がありますので、下記の例を通して理解してみます。
Latency | Number of requests | Sum of requests |
---|---|---|
100ms | 3 | 3 |
200ms | 5 | 8 |
300ms | 10 | 18 |
400ms | 30 | 48 |
500ms | 20 | 68 |
600ms | 15 | 83 |
700ms | 10 | 93 |
800ms | 4 | 97 |
2000ms | 2 | 99 |
10000ms | 1 | 100 |
*上記データは、100件のリクエストに対する応答時間を示します。
- P90、P95、P99を計算してみましょう。
- P90:90%の要求が処理された時間を示します。したがって、100 * 0.9 = 90番目の要求の応答時間を見つける必要があります。 90番目の要求の応答時間は700msです。
- P95:95%の要求が処理された時間を示します。したがって、100 * 0.95 = 95番目の要求の応答時間を見つける必要があります。 95番目の要求の応答時間は800msです。
- P99:99%の要求が処理された時間を示します。したがって、100 * 0.99 = 99番目の要求の応答時間を見つける必要があります。 99番目の要求の応答時間は2000msです。
- したがって、上記データのP90、P95、P99はそれぞれ700ms、800ms、2000msです。 *ここで最も遅い応答時間は10000msです。これは、100%の要求が処理された時間を示します。 *ほとんどの要求速度は300ms〜800msの間ですが、一部の要求は10000msまでかかることがあります。 ※特殊な少数の値が非常に大きいと平均値が非常に大きくなりますので、平均値のみで性能を測定することは適切ではない場合があります。 *上記の例の例として、平均給与を考えることができます。少数の役員の給与が非常に高い場合、平均給与は高くなりますが、ほとんどの従業員の給与は 平均より低い場合があります。
- **平均は異常値に敏感に反応できるため、平均でLatencyを測定するのとは別にP90、P95、P99を使用してLatencyを測定します。