はじめに
よく、チーム内で飛び交う言葉の1つとして「99 percentile」のワードがあったのでまとめる。
GCPでの説明
Google Cloud Platform(GCP)においてAPIを実装する場合、99パーセンタイルは、APIのレイテンシを評価するために使用されます。99パーセンタイルの値は、APIリクエストのレイテンシのうち、上位1%のリクエストの中で最も遅いものを表します。
99パーセンタイルは、APIの応答性を向上させるために非常に重要な指標となります。
例えば、APIのレスポンスタイムが99パーセンタイルで2秒未満であることを目標にすることで、APIの応答性を向上させることができます。また、99パーセンタイルの値が高い場合、APIのレイテンシの問題を特定し、改善するために対策を講じることができます。
99パーセンタイルの値を測定するには、APIのトレースを収集する必要があります。Google Cloud Traceを使用することで、APIリクエストのトレースを収集し、99パーセンタイルの値を計算することができます。
また、Google Cloud Monitoringを使用して、99パーセンタイルの値をリアルタイムで監視することもできます。
GCPのAPIの実装において、99パーセンタイルは、APIのレイテンシを評価するための重要な指標であり、APIの応答性を向上させるための目標を設定するために使用されます。
一般的な説明
99パーセンタイルとは、統計的な測定値の一つで、あるデータ集合において、上位1%の値よりも小さい値のうち最大の値を表します。
つまり、データセット内の値が大きい順に並べたとき、上位1%の範囲に入る値のうち最大の値を表します。
例えば、Webサイトのレスポンスタイムを計測する場合、99パーセンタイルは、レスポンスタイムが最も遅い1%のリクエストの中で最も遅いものを表します。99パーセンタイルは、平均値や中央値とは異なり、極端な値に影響されず、測定値の分布をより正確に表します。
99パーセンタイルは、システムのパフォーマンスや応答性を評価するために使用されることがあります。
例えば、ウェブサイトのレスポンスタイムが99パーセンタイルで2秒未満であることを目標にすることで、Webサイトのパフォーマンスを向上させることができます。また、99パーセンタイルの値が高い場合、システム全体のパフォーマンスの問題を特定するために使用できます。
例として、あるWebサイトのレスポンスタイムを測定する場合を考えてみましょう。このWebサイトでは、毎秒100リクエストが処理され、レスポンスタイムが1秒以内であることを目標にしています。
このWebサイトのレスポンスタイムを測定するために、1日の中でランダムに選ばれた1万個のリクエストのレスポンスタイムを収集しました。これらの値を小さい順に並べたとき、上位1%にあたる100個の値のうち、最大のものが99パーセンタイルになります。
例えば、次のようなデータセットがあるとします。
[0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 2.0]
この場合、99パーセンタイルの値は、データセット内で最も大きい上位1%の値である「1.1」になります。つまり、このWebサイトのレスポンスタイムにおいて、99パーセンタイルが1秒未満であることが目標である場合、このWebサイトは目標を達成していることになります。
このように、99パーセンタイルを使用することで、システムのパフォーマンスを評価し、目標を設定することができます。
また、99パーセンタイルをトラッキングして、システムのパフォーマンスの問題を早期に特定することもできます。
その他の例
- 
ネットワークレイテンシ: 99パーセンタイルの値を使用して、ネットワークのレイテンシを評価することができます。例えば、オンラインゲームの場合、99パーセンタイルの値が高い場合、ゲームプレイ中にラグが発生する可能性があります。
- 
ログイン時間: 99パーセンタイルの値を使用して、ユーザーのログイン時間を評価することができます。たとえば、オンラインストアの場合、99パーセンタイルの値が高い場合、ユーザーがログインするまでに待たされる時間が長くなる可能性があります。
- 
ファイルの読み込み時間: 99パーセンタイルの値を使用して、ファイルの読み込み時間を評価することができます。たとえば、データベースの場合、99パーセンタイルの値が高い場合、データベースからデータを取得するために必要な時間が長くなる可能性があります。
- 
サーバーレス関数のレスポンスタイム: 99パーセンタイルの値を使用して、サーバーレス関数のレスポンスタイムを評価することができます。99パーセンタイルの値が高い場合、関数の実行にかかる時間が長くなる可能性があります。
これらの例は、99パーセンタイルを使用して、システムのパフォーマンスを評価する方法を示しています。99パーセンタイルを使用することで、システム全体のパフォーマンスの問題を特定し、改善するための目標を設定することができます。