Ichizokuは日本唯一のSentry公認販売業者です。 日本語のドキュメント、動画、サポート窓口で日本のお客様のSentry活用を支援します。

正しい指標を選ぶ: パーセンタイルと平均値のガイド

アプリケーションのパフォーマンスを測定するために、どのパフォーマンス指標を使用すればよいか分からない。

そんなことでお悩みではありませんか?

でも心配ありません。
あなただけではなく、様々なプロジェクトで同様の悩みを抱えています。

多種多様なオプションがあるため、適切なメトリックを選択する作業は難しいです。この記事では、各メトリクスの長所と限界について解説します。
モニタリングに適したメトリックを決める際にお役立てください。

なぜ正しいメトリックス(指標)を選ぶことが重要なのか

パフォーマンス監視において、適切なメトリックスを選択することは、タスクに適切なツールを選択するようなものです。
釘を打つのにレンチを使っても最良の結果が得られないように、パフォーマンス監視に誤った指標を使用すると、誤解を招くような解析結果につながる可能性があります。

アプリのパフォーマンスの全体像を把握しなければ、ユーザー満足度の低下、最適化の機会損失、問題の解決時間の長期化などのリスクが生じます。

例えば、アプリケーションのパフォーマンスを評価するために平均的な指標だけに頼っていると、UXに大きな影響を与える可能性のある「スパイク」や「ディップ」を見落とす可能性があります。

逆に、p99のようなパーセンタイルを使用すると、レーダーを潜り抜けてしまうような、まれではあるが影響力のあるパフォーマンス問題を特定するのに役立ちます。

平均:簡単な概要

平均値は、パフォーマンス監視のためのわかりやすい指標です。

すべてのデータポイントを合計し、データポイントの総数で割ることで、パフォーマンス全体のスナップショットを提供します。
この指標は理解しやすく、計算も簡単であるため、魅力的な選択肢であると言えます。

しかし、平均がうまく機能し、典型的な経験を反映するのは、データが比較的一貫している(つまり、大きな外れ値や歪みがない)場合だけです。

例えば、移動平均はシステム全体が過負荷になりつつあることを知らせます。
しかし、その他のユースケースでは、平均値で対応できる領域には限界があります。

平均値の落とし穴

データが均一でない場合、平均値は誤解を招くリスクを含みます。

ページのロード時間をモニタリングする場合、平均値は役に立たないかもしれません。ユーザーデバイスは、ネットワークのような、あなたのアプリがコントロールできない、あらゆる種類の不安定な特性の影響を受けます。

そこで、パーセンタイルの出番となります。

パーセンタイル:ばらつきを理解する

パーセンタイルは、データをその分布に基づいてセグメントに分割することで、パフォーマンスのより微妙なビューを提供します。

理論的には、どのパーセンタイルもモニターすることができますが、実際には、p50、p75、p95、p99、p100の5つが使用されます。

  • p50(中央値): データの50%が該当する値。p50は、データの中心的な傾向と典型的なパフォーマンスについての洞察を与えます。p50の上昇または下降は、中央値のパフォーマンスの変化を示し、データポイント間の応答時間の速さや遅さを反映します。
  • p75:データの75%がこの値を下回る。p75は、フロントエンド・アプリケーションにとって貴重な指標です。これは、ユーザーの状況に大きなばらつきがあるため、データの分布が予測しにくくなるからです。p75は、中心的なパフォーマンスの傾向と、フロントエンドで遭遇する幅広いUXとの間でバランスをとります。
  • p95:これは、データの95%が該当する閾値です。p95は、均一なデータを持つバックエンドアプリケーションにとって価値があり、ほとんどのユーザーが期待するパフォーマンスを捕捉し、ボトルネックを強調します。しかし、可変フロントエンドの設定では、p95は最悪のシナリオを意味し、典型的なUXを代表するものではありません。
  • p99: この値を超えるデータはわずか1%であることを示します。バックエンドアプリケーションのようにデータの一貫性が高いシナリオでは、p99がパフォーマンスの上限を示し、最も極端なケースを強調します。
  • p100(最大値): p100は、計測器の問題やクライアント側の変数など、フロントエンド・アプリケーションにおけるノイズの原因を特定するために有用です。バックエンドアプリケーションでは、真のノイズや極端な異常値を示すことがあります。

以下はバックエンドトランザクションのパーセンタイルの例です。

典型的なパターンが観察されます。

p25からp75まで徐々に上昇し、p75からp95まで急な、しかしまだ緩やかな上昇が続きます。最後に、p99まで急上昇しています。

興味深いことに、p100はグラフに含まれていません。

その理由は、Y軸のスケールが大きくなるため、他のパーセンタイルの詳細が平坦な線に圧縮され、視覚化が歪んでしまうからです。

続いてフロントエンド・アプリケーションの典型的なパーセンタイル・チャートをお見せします。

このシナリオでは、p25からp50まで緩やかに上昇し、持続時間が適度に長くなっていることがわかります。

続いて、p50からp90まで急上昇していますが、これはより急激な値の上昇を意味します。

最適な指標の選択:バランスを取る

どのメトリクスを監視するかは、アプリケーションのパフォーマンス目標に沿う必要があり、データのばらつきの大きさによって決まります。
十分な情報に基づいた選択ができるように、選択肢を分類してみましょう。

ユーザー・エクスペリエンスの観点
ユーザーがシステムとどのように相互作用しているかを理解することを第一に考えるのであれば、p75やp95のようなパーセンタイルに注目してください。これらのメトリクスは、典型的なパフォーマンスの全体的なビューを提供しています。

p75とp95のどちらをトラッキングするかは、モニターしたいアプリケーションのタイプによって異なります。フロントエンド・アプリケーションのような変動性の高い環境では、p75を選択することをお勧めします。バックエンド・アプリケーションのようなデータの一貫性が高い状況では、p95の方が適しているかもしれません。

異常値の検出
少数のユーザー・サブセットに影響する異常値や稀な事象を特定することが重要な場合は、p95(フロントエンド・アプリの場合)またはp99(バックエンド・アプリの場合)を選択します。
これらのパーセンタイルは、平均中心のメトリクスを使用した場合に発見できない可能性のある問題を特定するのに役立ちます。

スケーラビリティの計画
リソースの割り当てとシステムのスケーラビリティを計画することが目的であれば、平均値が適しているでしょう。
負荷が増加している期間の平均を監視することで、システムがいつ容量の限界に達するかを特定することができます。

Sentry パフォーマンスモニタリングで問題を迅速に解決

平均値もパーセンタイルも、パフォーマンス監視には欠かせない指標です。

平均値が大まかな概要を示すのに対し、パーセンタイルはばらつきや異常値を詳細に把握することが可能です。

最適なアプローチは、モニタリングの目的と扱う特定の条件によって異なることについてもお伝えしてきました。

パフォーマンスを効果的に監視するには、p75 や p95 などのパーセンタイルを使用してUXの大部分を把握し、p99 にも注意して極端なシナリオに対処することを検討してください。

これらのメトリクスを注意深く選択し解釈することで、システムのパフォーマンスに関する包括的な洞察が得られ、よりスムーズなUXと迅速な問題解決が実現できるでしょう。

すぐにパフォーマンスデータの取得を開始するために必要なのは、パフォーマンスモニタリングの設定だけです(わずか5行のコードで完了します!)。

Sentryを初めてお使いになる場合は、無料でお試しいただくか、デモのお申し込みください。


 

IchizokuはSentryと提携し、日本でSentry製品の導入支援、テクニカルサポート、ベストプラクティスの共有を行なっています。Ichizokuが提供するSentryの日本語サイトについてはこちらをご覧ください。またご導入についての相談はこちらのフォームからお気軽にお問い合わせください。

シェアする

Recent Posts