Apdexの設定例

これらの例では、さまざまなアプリケーションやシナリオにおいてユーザー満足度を監視するためのApdexスコアの設定方法と算出方法を示しています。

例 1: カスタム閾値を使用したアプリケーション・アプデックス

目的: 200ミリ秒を閾値としてApdexスコアを測定し、Eコマースアプリケーションに対するユーザーの満足度を監視する。

構成:

  • 対象:Eコマースアプリケーション
    • スコープ:
      • 対象となる通話:着信
      • 内部呼び出しを含める:false
      • 合成コールを含める:false
    • カスタムフィルター:なし
  • 指標:
    • しきい値:200 ms

シナリオ: 1時間にわたり、アプリケーションは10,000件のリクエストを受け付け、その応答時間は以下の通りです。

Apdexの算出:

  • 処理完了した通話(200ミリ秒以下):8,500件
  • 許容される通話(200ミリ秒超~800ミリ秒以下):1,200件
  • 切断された通話(800ミリ秒超):300件
  • 総通話数:10,000件

Apdexスコアの算出式: Apdex = (Satisfied + (Tolerated / 2)) / Total

  • Apdex = (8,500 + (1,200 / 2)) / 10,000
  • Apdex = (8,500 + 600) / 10,000
  • Apdex = 9,100 / 10,000
  • Apdexスコア: 0.91 (良好)

満足度: 良好( 0.85-0.93 )

例 2: HTTP へのリクエストに対する Webサイト Apdex

目的: オンラインバンキングウェブサイトへの HTTP リクエストについて、500ミリ秒を閾値としてユーザー満足度を監視する。

構成:

  • 対象:オンラインバンキングのウェブサイト
    • Beacon: HTTP へのリクエスト
    • カスタムフィルター:なし
  • 指標:
    • しきい値:500ミリ秒

シナリオ: 30分間に、ウェブサイトは5,000件の HTTP リクエストを受信する。

Apdexの算出:

  • 処理完了したリクエスト(500ミリ秒以下):4,200件
  • 許容されるリクエスト(500ミリ秒超~2,000ミリ秒以下):650件
  • タイムアウトしたリクエスト(2,000 ミリ秒超):150 件
  • リクエスト総数:5,000件

Apdexスコア:

  • Apdex = (4,200 + (650 / 2)) / 5,000
  • Apdex = (4,200 + 325) / 5,000
  • Apdex = 4,525 / 5,000
  • Apdexスコア: 0.905 (良好)

満足度: 良好( 0.85-0.93 )

例 3: 適用範囲を絞り込んだApdex

目的: 小売アプリにおける決済関連の問い合わせについて、150ミリ秒を閾値として、ユーザーの満足度を監視する。

構成:

  • 対象:小売向けアプリ
    • スコープ:
      • 対象となるコール:すべてのコール
      • 内部呼び出しを含める:false
      • 合成コールを含める:false
    • カスタムフィルター: endpoint.name に「checkout」が含まれる
  • 指標:
    • しきい値:150ミリ秒

シナリオ: 2時間にわたり、チェックアウト関連の問い合わせは次のような分布を示しています。

Apdexの算出:

  • 処理完了した通話(150ミリ秒以下):2,800件
  • 許容される通話(150ミリ秒超~600ミリ秒以下):180件
  • 切断された通話(600ミリ秒超):20件
  • 総通話数:3,000件

Apdexスコア:

  • Apdex = (2,800 + (180 / 2)) / 3,000
  • Apdex = (2,800 + 90) / 3,000
  • Apdex = 2,890 / 3,000
  • Apdexスコア: 0.963 (優秀)

満足度: 最高( 0.94-1.00 )

例4:異なる閾値におけるApdexの比較

目的: 同じアプリケーションにおいて、しきい値の設定がApdexスコアにどのような影響を与えるかを理解する。

シナリオ:API Gateway アプリケーションは、以下のレイテンシ分布を持つ10,000件のリクエストを受信します:

  • 0~100ミリ秒:6,000件
  • 101~200ミリ秒:2,000件
  • 201~400ミリ秒:1,200件
  • 401~800ミリ秒:600件の通話
  • 801ミリ秒以上:200件の通話

設定 1:しきい値 = 100 ms

  • 「満足」(100ミリ秒以下):6,000
  • 許容範囲(101~400ミリ秒):3,200
  • 処理が中断された(400ミリ秒超):800
  • Apdex = (6,000 + 1,600) / 10,000 = 0.76 (普通)

設定 2: しきい値 = 200 ms

  • 「満足」(200ミリ秒以下):8,000
  • 許容範囲(201~800 ms):1,800
  • 処理が中断された(800ミリ秒以上):200
  • Apdex = (8,000 + 900) / 10,000 = 0.89 (良好)

設定 3: しきい値 = 400 ms

  • 「満足」(400ミリ秒以下):9,200
  • 許容範囲(401~1,600 ms):600
  • 処理が中断された(1,600ミリ秒超):200
  • Apdex = (9,200 + 300) / 10,000 = 0.95 (優秀)

分析: この例は、以下の要因に基づいて適切な閾値を設定することの極めて重要な意義を示しています:

  • アプリケーションの種類とユーザーの期待
  • ビジネス要件
  • 技術能力
  • 業界標準

Apdex満足度指標の理解

Apdexスコアは0から1までの範囲で、満足度は以下の通りです:

スコア範囲 レベル カラー 説明
0.94-1.00 優良 濃い緑 ユーザーはパフォーマンスに非常に満足しています
0.85-0.93 正常 ライト・グリーン ユーザーは概ね満足している
0.70-0.84 良好 黄色 パフォーマンスはまずまずだが、改善の余地がある
0.50-0.69 悪い オレンジ ユーザーは不満を感じている
0.00-0.49 許容できない パフォーマンスの低下がユーザー体験に深刻な影響を及ぼしている

Apdexの設定に関するトラブルシューティング

以下の提案は、Apdexの設定でよく発生する問題を解決するのに役立ちます:

問題: Apdexスコアは常に「Excellent」( 0.94 以上)であり、変動が見られない。

解決策: しきい値が甘すぎる可能性があります。 実際のレイテンシの分布を確認し、パフォーマンスレベルをより明確に区別できるよう、閾値を引き下げることを検討してください。

問題: Apdexスコアが常に「Poor」または「Unacceptable」( 0.70 未満)となっている。

解決策: アプリケーションの処理能力に対して、しきい値の設定が厳しすぎる可能性があります。 レイテンシの分布を確認し、以下の対応を検討してください:

  • 現実的なパフォーマンスの期待値に合わせて閾値を引き上げる。
  • しきい値が適切かどうかを確認し、パフォーマンスの問題を調査してください。
  • アプリケーションを最適化し、所定の閾値を満たすようにします。

問題: Apdexスコアは1日を通して大きな変動が見られる。

解決策: このような変動は多くの場合正常であり、負荷パターンの変化を反映したものです。 以下の対処を検討してください。

  • ピーク時とオフピーク時で、それぞれ個別のApdex設定を作成してください。
  • 変動が予想されるパターンを超えているかどうかを調査する。
  • パフォーマンスを一定に保つために、オートスケーリングを導入する。

問題: Apdexの設定に関するデータが収集されていません。

解決策: 以下の条件を確認してください:

  • 選択したアプリケーションまたはウェブサイトにはアクセスがあります。
  • カスタムフィルターはそれほど制限が厳しくありません。
  • そのエンティティは依然として存在しており、適切に構成されています。

問題: Apdexスコアが、ユーザーが実感する体験と一致していない。

解決策: 以下の対応を検討してください:

  • 閾値がユーザーの期待に沿っているか確認してください。
  • フィルタによって重要なトラフィックセグメントが除外されていないか確認してください。
  • スコープにすべての関連する呼び出しが含まれていることを確認してください。
  • ユーザー層ごとに複数のApdex設定を作成することを検討してください。