TOPシステム開発> サーバサイドアプリケーションの解析
サーバサイドプロファイリング
Javaサーバサイドプロファイリング

第3回:サーバサイドアプリケーションのプロファイリング

著者:野村総合研究所  松野 洋希   2007/10/2
1   2  3  4  次のページ
サーバサイドアプリケーションの解析

   本連載では、オープンソースソフトウェアを使ったサーバサイドのプロファイル方法を解説してきました。最終回の今回は、いよいよプロファイラを使ってサーバサイドアプリケーションの解析を行います。

NetBeans Profilerの起動

   「第2回:NetBeans Profilerを使ってみよう」を参考に、JBossASとNetBeans Profilerの起動、そしてNetBeans Profilerとアプリケーションサーバの接続を行います。


ヒープメモリ確認

   ではまず、アプリケーションサーバのヒープメモリを確認してみましょう。NetBeans Profilerのウィンドウ左上にある「ビュー」タブから「VM遠隔測定」ビューをクリックして開きます。

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回:サーバサイドアプリケーションのプロファイリング
サーバサイドアプリケーションの解析
  ヒープの確認
  メソッドの実行時間の確認
  ペットストアアプリケーションの動作を確認