第2回 アプリの運用監視サービスを活用する:連載:アプリケーションの運用監視(3/4 ページ)
New RelicとApplication Insightsを利用して、Webアプリの死活監視など、各種の情報を取得する方法を解説する。なお、本記事は2015/1/14時点の情報に基づいている
性能分析を行う
New RelicとApplication Insightsでは死活監視以外にも性能分析を行える。また、サーバーのどこでボトルネックになっているか調査するためには、サーバー側でエージェント設定を行う必要がある。
New Relicでの性能分析
New Relicのエージェントを追加した仮想マシンにアプリをデプロイすると、数分後にはNew Relicのポータルに性能情報が表示される。.NET CLRの状態だけではなく、データベースにおけるクエリの使用率、URLごとの応答時間といった情報を確認することが可能だ。左側のペーンの[MONITORING]−[Overview]を選択すると、概要が表示される。
アプリの応答時間に関する情報の概要をNew Relicで取得/表示したところ
(1)Webアプリの応答時間。
(2)何割の人が応答に満足しているかの割合(1.0で全員満足)。「Apdex: Measuring user satisfaction」を参照。
(3)サーバースループット。
同様に[MONITORING]−[Database]を選択すると、データベースに関連する性能分析の結果が表示される。
データベースに関する性能分析をNew Relicで取得/表示したところ
(1)指定した時間間隔内でより多くのCPUを使用したSQL(間隔は上部の[TIME PICKER]で指定する)。
(2)(1)の上位5位をグラフ化したもの。
(3)データベースのスループット。
(4)データベース応答時間。
[MONITORING]−[Transactions]を選択すると、時間がかかった処理をWeb/非Webのトランザクションに分類して表示できる。
New Relic Proにアップグレードすればアプリケーションでの負荷が高いクエリのSQL詳細が参照できるようになる(参考:Database and slow SQL dashboard)。
SQL Serverの場合はGitHubにプラグインが公開されており、追加することも可能だ(参考:newrelic-platform/newrelic_microsoft_sqlserver_plugin)。
New RelicエージェントはWebアプリの性能を調査するためのもので、サーバー全体の性能傾向は見られない。そのような場合、New Relicのサーバーモニターを別途インストールすることで、より全体的な性能情報を取得することが可能だ。エージェントとモニターを同時にインストールすることもできる。
ポータルから[SERVERS]を選択すると各OS用のモニターをダウンロードすることが可能だ。
New Relicのサーバーモニターのダウンロード画面
(1)モニターをインストールするOSを選択すると、ダウンロードのインストラクションが表示される。
(2)Windowsを選んだ場合の32bit/64bit版および、MSI/ZIPファイルのどれをダウンロードするかを選択する。
Windows Server 2012であれば、Windows用64bitのMSI版をダウンロードしサーバー上で実行すればよい。New Relicのサポートリストには入っていないが、筆者の自己責任でAzureのWindows Server 2012 R2にインストールしたが、レポートは正常に送られていた。インストーラーの実行画面を以下に示す。
アプリのエージェントと同じようなインストール画面が表示される。エージェントのインストールと同様に、サーバーモニター用のインストールキーを指定する。インストールが完了ししばらくすると、ポータルにサーバーの状態が表示される。
CPU使用率の高いアプリ、ディスクI/O、ネットワーク使用率などが取得できる。これらの情報はAzureのポータルでも参照できるが、New Relicのポータルならより詳細な情報を参照可能だ。
サーバーの全体的な情報やIISアプリの情報はこのように手軽に取得できる。IISを使わないスタンドアロン型のアプリはその構成ファイルでNew Relicエージェントの指定を行えばよい(参考:Instrumenting non-IIS apps)。
WCFアプリの場合も同様に設定を行えばよい。詳細はNew Relicのドキュメント「Instrumenting WCF applications」を参照してほしい。
次にApplication Insightsを使用して性能分析を行う方法を見ていこう。
Copyright© Digital Advantage Corp. All Rights Reserved.