Apdex:ユーザー満足度の測定

Apdexは、ウェブアプリケーションやサービスのレスポンスタイムについて、ユーザー満足度を計測するための業界標準です。これは、平均レスポンスタイムなどの歪曲されやすい従来のメトリックスの代わりになる不満の割合やApdexスコアなどのメトリックスを介して、アプリケーションのユーザー満足度を確認するための簡素化されたサービスレベル契約(SLA)ソリューションです。

Apdexによる測定

Apdexは設定された閾値に対するレスポンスタイムを基準とする測定値です。満足のいくレスポンスタイムと不満足なレスポンスタイムの比率を測定します。レスポンスタイムとは、アセットのリクエストから、リクエスト送信元への配信が完了するまでの時間です。

レスポンスタイムの閾値をTと定義した後、T以下の時間で処理されたすべての応答がユーザーを満足させるものになります。

例えば、Tが1.2秒の場合、応答が0.5秒で完了すれば、ユーザーは満足します。応答が1.2秒よりも長い場合、ユーザーは満足しません。応答が4.8秒よりも長い場合、ユーザーは不満に感じます。

以下の項目に対して、複数のApdex T値を定義することができます。

Apdexによる測定 コメント
APMアプリケーション

APMはこうしたアプリケーションのパフォーマンスをモニターします。そのApdex設定を定義するには、APM UIを使用してください。APM概要ページとBrowser概要ページのApdexをご覧ください。

Browserアプリケーション

Browserは、こうしたアプリケーションのエンドユーザー体験をモニターします。こうしたアプリケーションのエンドユーザーApdex設定を定義するには、Browser UIを使用します。New Relicでは、APM概要ページBrowser概要ページでエンドユーザーとしてラベル付けされます。

キートランザクション

モニターすることを選んだ、御社の事業にとって重要なトランザクションになります。キートランザクション向けApdex設定を定義するには、APMのキートランザクションページにアクセスして、キートランザクション概要ページで確認します。

Apdexレベル

Apdexは3つの応答数を追跡します。

  • 満足: レスポンスタイムがT以下である。
  • 許容可能: レスポンスタイムがTを超過したが、4T以下である。この例では、4 x 1.2 = 4.8秒が最大許容レスポンスタイムになります。
  • 不満: レスポンスタイムが4Tより大きいか、リクエストがサーバーサイドエラーを返す場合。エラー率が高い場合は、平均レスポンスタイムが許容範囲であっても、Apdexスコアが低くなることがあります。

設定ファイルのapdex_f値は、アプリケーションサーバーのApdex T値の4倍です。例えば、この閾値は、トランザクショントレースで役に立ちます。詳細については、New Relicエージェントの設定ファイルドキュメントをご覧ください。

時間の計算値は、アプリのT設定に応じて変わります。以下は、T = 1.2秒の例です。

レベル 乗数 時間(T = 1.2)
満足 T以下 <= 1.2秒
許容可能 >T、<= 4T 1.2 ~ 4.8秒
不満 > 4T 4.8秒を超える

Apdexレベルを定義した後は、New Relicのいずれかのリソースを使用して、望ましくない顧客体験を示す変更点を特定して、トラブルシューティングを行ってください。

Apdexスコア

Apdexスコアは、全リクエストについて満足のいくリクエスト件数と許容可能なリクエスト件数の比率です。満足のいくリクエストはすべて1つのリクエストとしてカウントされ、許容可能なリクエストはすべて満足したリクエストの半分としてカウントされます。

Apdexスコアは0~1の値を取り、0が最悪のスコアとなります(レスポンスタイムの100%が不満だった場合)。また、1が最高のスコアとなります(レスポンスタイムの100%が満足だった場合)。

Apdexスコアの例:

ホストが2分間で200件のリクエストを処理する場合。Apdex閾値T = 0.5秒(500ミリ秒)とします。この値は、ユーザーが自由に選択できます。

  • 170件のリクエストが500ミリ秒以内に処理されたので、「満足」と分類されます。
  • 20件のリクエストは500ミリ秒~2秒の間(2000ミリ秒)で処理されたので、「許容可能」と分類されます。
  • 残りの10件は適切に処理されなかったか、処理時間が2秒を超過したため、「不満」と分類されます。

結果のApdexスコアは0.9:(170 + (20/2))/200 = 0.9.

Apdeスコアの計算に使用した式は、高スループットアプリ用のものです。お使いのアプリのスループットが100 RPM未満の場合、安定したスコアを判別するのに十分なデータが収集されません。これにより、Apdexアラート条件の動作が想定外になる場合があります。

エラーページ

500: Application Errorなどのサーバーサイドエラーを返すすべてのリクエストは返信速度に関係なくストレスになる応答です。Apdexを使用してエラーの影響を視覚化してからNew Relicの組み込みのエラー解析ツールとエラープロファイルツールを使用して、エラーを識別して解決できます。

不満の割合

不満の割合とは、特定のトランザクションが原因で、アプリケーションのユーザーが体験した不満の合計件数の割合です。

Apdexの不満の計算例:

不満(トランザクション) + 許容可能(トランザクション)/2

不満(アプリケーション) + 許容可能(アプリケーション)/2

不満の割合を視覚化するには、最も不満の割合が高いトランザクションから順に並べ替えします。

トランザクションが常に苛立たしいほど遅くても、滅多に訪問されるアプリケーションでない場合、アプリケーション全体の不満の割合に与える影響はほとんどありません。逆に、トランザクションは高速であってもスループットが高い場合は、それがアプリケーションのトラフィックの大部分を占めるために、アプリケーションの不満の割合に大きな影響を与えることがあります。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください: