タイトル

Need for Answer

2014年3月10日月曜日

New RelicのApdexって何?

New Relicをお使いの皆さん、Apdexって何?という疑問…あると思います!
Wikipediaにも説明がありますが、2行で要約。

何割の人がレスポンススピードに満足しているか?』です。
0~1の範囲になり、1がみんな満足です。

以下New Relicのロジックを翻訳してみます。
『サーバー応答』と『ブラウザ』でのApdexがありますが、違いは後述。

まず『レスポンスに満足する秒(T)』を自己定義します。NewRelicのデフォルトは0.5秒です。
Applications>Settings>Application>App server>Apdex Tで設定可能です。

次にレスポンス速度毎に3分類し、アクセス回数を集計します。
『不満』はTの4倍超の時間です。(4倍はApdexの決まり)

満足(Satisfied)⇒0.5秒以下
容認(Tolerated)⇒0.5~2秒の間
不満(Frustrated)⇒2秒超

3つの数字が出ますので、これを計算式に代入するとApdexスコアが出ます。
Apdexスコア = (満足数 + 容認数 / 2) / アクセス合計数



上記計算式のNewRelicリンクも貼っておきます。

この値が0.7を下回るとエラーとなります。
アラート閾値を変更したい時は、Tools>Alert policiesで設定できます。

次に『サーバー応答』と『ブラウザ』の違いを説明します。
要約すると『レスポンスを計測する範囲の違い』です。

『サーバー応答』のレスポンスは、『ユーザーリクエストがサーバーに到着~サーバーがコンテンツを応答まで』になります。
サーバー⇒エンドユーザー間のネットワーク到達時間は考慮されていません

それに対して『ブラウザ』はユーザーがリクエストを発行してから、ドキュメントがロードされるまでの時間になります。
つまりネットワーク到達時間も考慮に入れている事になります。

これはNewRelicエージェントがJavaScriptを自動的に埋め込んで計測しています。
httpドキュメントの最下部にJavaScriptが自動添付されているのが確認できますね。

0 件のコメント:

コメントを投稿