TOP
>
システム開発
> サーバサイドアプリケーションの解析
Javaサーバサイドプロファイリング
第3回:サーバサイドアプリケーションのプロファイリング
著者:
野村総合研究所 松野 洋希
2007/10/2
1
2
3
4
次のページ
サーバサイドアプリケーションの解析
本連載では、オープンソースソフトウェアを使ったサーバサイドのプロファイル方法を解説してきました。最終回の今回は、いよいよプロファイラを使ってサーバサイドアプリケーションの解析を行います。
NetBeans Profilerの起動
「
第2回:NetBeans Profilerを使ってみよう
」を参考に、JBossASとNetBeans Profilerの起動、そしてNetBeans Profilerとアプリケーションサーバの接続を行います。
ヒープメモリ確認
ではまず、アプリケーションサーバのヒープメモリを確認してみましょう。NetBeans Profilerのウィンドウ左上にある「ビュー」タブから「VM遠隔測定」ビューをクリックして開きます。
図1:VM遠隔測定ビュー
(画像をクリックすると別ウィンドウに拡大図を表示します)
ビューの下にはタブがあり、表示内容を切り替えることができます。それぞれのタブでは以下のような情報を取得できます。
スレッド(統計)
アプリケーションサーバ上でアクティブなスレッド数を表示します。
メモリー(ヒープ)
JavaVMのヒープメモリの状態を表示します。「ヒープサイズ」はあらかじめアプリケーションサーバに割り当てられたヒープメモリのサイズ、「使用済みヒープ」はアプリケーションで利用しているヒープメモリのサイズになります。
メモリー(GC)
ガベージコレクション(GC)に関する情報を表示します。「生存中世代」はヒープ上に存在するJavaオブジェクトの異なる世代の数です。「生存中世代」の数が低ければ、世代のばらつきがないことを示しますし、数が高ければ世代のばらつきがあることを示します。つまり、この数値が高いときは「古いオブジェクトが残りながら、新しいオブジェクトも生成されている」ことをあらわしており、すなわちメモリを無駄使いしている可能性が高くなります。「相対GC時間」は、これまでJavaVMがGCに費やした時間を実行時間の相対値で示します。
表1:VM遠隔測定ビューで取得できる情報
1
2
3
4
次のページ
著者プロフィール
株式会社野村総合研究所 松野 洋希
情報技術本部 オープンソースソリューションセンター
大規模コンシューマ向けWebサイトのインフラ構築にあたり、オープンソースのフレームワークやミドルウェアの検証・評価に携わる。2003年、日本人としては初めてJBoss社の認定コンサルタントに合格。現在は、金融系システム基盤へオープンソースソフトウェアを適用するために設計・構築を行っている。
NRIオープンソースサポートサービス OpenStandia
http://www.nri-aitd.com/openstandia/
INDEX
第3回:サーバサイドアプリケーションのプロファイリング
サーバサイドアプリケーションの解析
ヒープの確認
メソッドの実行時間の確認
ペットストアアプリケーションの動作を確認