はじめに
よく、チーム内で飛び交う言葉の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パーセンタイル
を使用することで、システム全体のパフォーマンスの問題を特定し、改善するための目標を設定することができます。