システム監視に必要なパーセンタイル(Percentile)の基礎知識
公開日2025.02.04
はじめに
現代のシステム監視において、平均値だけでは捉えきれないパフォーマンス課題を発見するため、パーセンタイルが重要な役割を果たしています。本記事では実際のシステム監視ケースを交えながら、パーセンタイルの正しい理解と活用方法を解説します!
パーセンタイルとは
パーセンタイル(Percentile)は、データセットを昇順に並べた際に特定の割合のデータが収まる境界値を示す指標です。システム監視では主にレスポンスタイム分析に活用されます。
主要パーセンタイルの解説
例えば、あるWebサービスのレスポンスタイム(応答時間)を測定した場合、以下の結果になったことを想定してそれぞれ説明します。
レスポンスタイム(ミリ秒): 10, 15, 20, 25, 30, 35, 40, 45, 50, 100
50パーセンタイル(中央値/Median)
- データの中央値を表す
- 計算方法
(n + 1) × 0.5
番目の値- 上記例:
(10 + 1) × 0.5 = 5.5
番目 → 30と35の平均値 32.5ミリ秒
- 意味
- 50%のリクエストが32.5ミリ秒以下
- 活用例
- サーバーの通常負荷状態の把握
95パーセンタイル
- 上位5%の外れ値を除外した指標
- 計算例(上記データセット)
- 位置 = 0.95 × 10 = 9.5
- 値 = 9番目(50) + (10番目(100) - 9番目(50)) × 0.5
= 50 + 50 × 0.5 = 75 ミリ秒
- 意味
- 95%のリクエストが77.5ミリ秒以下
- 活用例
- 現実的な最悪ケースを把握
99パーセンタイル
- データの99%がその値以下となる点を示します
- 100件のデータで考えると・・・
# レスポンスタイム(ミリ秒)の仮想データ sorted_data = [ 120, 130, 135, ..., # 1-98件目:200ミリ秒以下 200, 200, # 99件目:200ミリ秒 1500 # 100件目:1,500ミリ秒(外れ値) ]
- 計算方法
- 位置 = 0.99 × 100 = 99.0
- 値 = 99番目の値 = 200ミリ秒
- 意味
- 100件中99件(99%)が200ミリ秒以下
- ユーザーの99%は200ミリ秒以下で体験
- 活用例
- 目標設定:P99を150ミリ秒以下に改善
- モニタリング:1,500ミリ秒の外れ値発生をアラート
なぜ平均では不十分か ?
指標ごとのメリットデメリットをまとめました。平均値では、外れ値の影響を強く受けることで正確にデータを分析しずらいためパーセンタイルという指標が使われております。
指標 | メリット | デメリット |
---|---|---|
平均値 | 直感的に理解しやすい | 外れ値の影響を強く受ける |
パーセンタイル | データ分布を正確に反映 | 計算が複雑 |
最大値 | 最悪ケースを把握できる | 一時的な異常値に左右される |
まとめ
50パーセンタイルで通常の動作を、95-99パーセンタイルで異常値や改善が必要な部分を把握することで、より効果的なシステム運用が可能になるので、この記事を参考にパーセンタイルのデータが見れるようになったら幸いです(`・ω・´)