TOPシステム開発> サーバアプリケーションの動作を可視化
サーバサイドプロファイリング
Javaサーバサイドプロファイリング

第1回:プロファイラとは

著者:野村総合研究所  松野 洋希   2007/8/29
1   2  3  次のページ
サーバアプリケーションの動作を可視化

   本連載では、オープンソースを使ったサーバサイドのプロファイル方法について、3回に渡り解説を行います。主に、JavaのWebアプリケーションを作成している開発者の方が対象となります。

   第1回となる今回は「プロファイラとは」というタイトルで、プロファイラとは何か、どんなことができるのかを説明した上で、プロファイル環境と対象となるサンプルアプリケーションのインストールまで進めていきます。紙面の都合上、実際にプロファイラを動作させるのは次回以降になりますので、ご了承ください。

プロファイラとは

   プロファイラとは、アプリケーションの性能を解析するためのツールです。Webアプリケーション開発を進めていく上で、次のような問題に遭遇したことはないでしょうか。

  • 極端に遅いリクエスト処理があるのだが、原因がわからない
  • サーバを起動してしばらく経つと、アプリケーションの動作が重くなる
  • Out Of Memoryエラーが発生する
  • リクエストの多重度を増やすと、スループットが低下する

表1:Webアプリケーション開発時の問題

   プロファイラはこういった問題を解決するのに非常に役立ちます。


プロファイラで取得できること

   プロファイラを利用すると、一般的には以下のような指標が取得できます。

  • メソッドの呼び出し回数
  • メソッドの呼び出し時間
  • メモリ使用量
  • CPU使用量
  • スレッドの状態

表2:プロファイラで取得できる指標

   取得した情報により、処理時間がかかっているアプリケーションロジックやメモリの不正利用、スレッドの待ち状態がわかり、アプリケーションの問題を解決するのに役立ちます。

   プロファイラによっては、このような指標をグラフィカルに表示することができます。

1   2  3  次のページ


株式会社野村総合研究所 松野 洋希
著者プロフィール
株式会社野村総合研究所  松野 洋希
情報技術本部  オープンソースソリューションセンター
大規模コンシューマ向けWebサイトのインフラ構築にあたり、オープンソースのフレームワークやミドルウェアの検証・評価に携わる。2003年、日本人としては初めてJBoss社の認定コンサルタントに合格。現在は、金融系システム基盤へオープンソースソフトウェアを適用するために設計・構築を行っている。

NRIオープンソースサポートサービス OpenStandia
http://www.nri-aitd.com/openstandia/


INDEX
第1回:プロファイラとは
サーバアプリケーションの動作を可視化
  Javaサーバサイドアプリケーションで利用可能なプロファイラ
  サンプルアプリケーションのインストール