タイトル

Need for Answer

ラベル New Relic の投稿を表示しています。 すべての投稿を表示
ラベル New Relic の投稿を表示しています。 すべての投稿を表示

2015年5月28日木曜日

New ReicのScalability analysisって何?

New Relic使ってますか!

というか、New Relicの「REPORTS」項目、見てますか!
今回はその中の、「Scalability analysis」について解説しようかな、というお話。

…「Scalability analysis」とは、読んでそのままの意味でスケーラビリティ分析をしてくれるものです。つまり「インフラがボトルネックになっているか?」がわかるのです!すごい!

では、読み方。2つのキャプチャを見てみましょう。




このグラフから何を読みとくか?というと、「rpm(Requests Per Minutes)が上昇しても、応答速度にムラが無いか?」です。横軸がrpm、縦軸が平均応答速度です。「右端のカラーチャート」と「グラフ内の点」を照らし合わせると、「いつのアクセスなのか?」がわかります。つまり何時頃にはどれくらいのrpmだったのか?がわかります。

そもそもの話ですが、rpmはユーザーアクセス数に比例します。具体的には「夜中は少なく、昼は多い」ということになります。こういった時刻ごとの変化も一目瞭然ですね。

さて「rpmが上昇」ということは、「1台のサーバーで対応するユーザー数が上昇」ということです。…ということは「インフラリソースが不足すると、応答速度が遅くなる」と考えられます。逆に考えると、「応答速度が安定しているということは、インフラリソースは充足している」事になります。

ということで結論としては、「線グラフが水平」「点が集中して上下の幅が少ない」というのが、インフラリソースが充足しているいい感じ、になります。

右肩上がりや、点がバラバラになっている場合は、どこかにボトルネックがあるという事ですね。

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が自動添付されているのが確認できますね。