TOP比較データ> 動作解析機能の提案
OSS評価手法
オープンソースソフトウェアの性能・信頼性評価手法

第4回:アプリケーション・プログラムの動作解析機能の開発とそれを用いた解析
著者:日立製作所  関 洋子   2005/6/6
1   2  3  4  次のページ
動作解析機能の提案

   システム構築時に、想定した性能が出せないケースがある。また、トランザクション負荷の増大に伴い、システム性能がダウンする事象が発生するケースもある。このようなケースでは、システムの設計者や管理者は、システム全体の動作状況はもとより、プログラムの動作状況を掌握し、システム性能の阻害要因を究明しなければならない。

   今回の連載では、ベンチマーク・ツールにSPECjAppServer2004を用いて、バージョンの異なるカーネル上に構築したシステムの性能比較をした結果(第2回)や、JBossおよびWebLogicを用いて構築したシステムの性能比較をした結果(第3回)を紹介してきた。今回は少し趣向を変えて、システムのネック要因を解析する手法について紹介することにする。

   システムを構築して実際に処理を実行させた時に、想定していた性能を出すことができないような場面に遭遇したことがあるだろう。そのような時に、プログラム内部の振る舞いを、EJBメソッドのレベルから観察することができれば、性能上の阻害要因となっている部分の特定に役立つと思う。

   また、現時点では性能上問題が生じていなくても、システムの負荷が低い時のEJBメソッドの振る舞いと、システムの負荷が高い時のEJBメソッドの振る舞いを比較してみれば、今後負荷が増大するにつれて、どのような処理がネックとなるかを予測するのに役立てることができると思う。

   今回は、このようなミクロなレベルでの動作状況の掌握を支援することを目的に、メソッドの実行回数や平均実行時間等を取得するツールEJB Profilerを用意し、SPECjAppServer2004アプリケーションの内部動作の掌握を試みた結果について報告することにする。


EJB Profilerの概要

   EJB Profilerは、JBossソース・プログラムとして提供される下記プログラムを一部改変し利用したツールである。

jboss-4.0.0-src/varia/src/main/jboss/varia/counter/*

   EJB ProfilerはJBossのJMX(Java Management Extension)アーキテクチャを使用した実装になっており、JBoss上で動作する。本記事の解説では測定対象としてSPECjAppServer2004に適用しているが、JBoss上で動作するすべてのアプリケーションに適用可能である。

   EJB Profilerは、測定期間中に実行されたメソッド毎に、以下に示すデータを取得し、そのデータをWebブラウザ画面、あるいはファイル(CSV形式)に出力する。

データ 説明
method_name メソッド名(「コンテナ名.メソッド名」の形式)
total メソッドの実行に要した総時間(msec)
entries メソッドの実行回数
min メソッドの最小実行時間(msec)
max メソッドの最大実行時間(msec)
average メソッドの平均実行時間(msec)

表1:EJB Profilerで取得可能なデータ

   EJB Profilerの、測定期間中にメソッド実行データを収集し測定後に集計を行う部分は、MBeanとして実装している。また、メソッド開始・終了のタイミングでメソッド名や実行時間の取得を行う部分は、インターセプタとして実装している。インターセプタの機能では、どのEJBを測定対象とするかの設定を設定ファイルで容易に行うことができる。

1   2  3  4  次のページ

資料紹介
「OSSの性能・信頼性評価/障害解析ツール開発」報告書

本記事は、OSS推進フォーラム 開発基盤ワーキンググループによって公開されている「OSSの性能・信頼性評価/障害解析ツール開発」報告書を基に記事を掲載しています。報告書には、本記事で紹介した評価手法の詳細な手順、評価結果、考察が記載されています。
Javaアプリケーション層の評価、DB層の評価、OS層の評価の各報告書や付録、障害解析ツール開発に関する各報告書などが、OSS推進フォーラム 開発基盤ワーキンググループのホームページにて公開されています。

■「Javaアプリケーション層の評価」報告書(PDF形式/2.99MB)
http://www.ipa.go.jp/software/open/forum/Contents/DevInfraWG/web.pdf

■日本OSS推進フォーラム・開発基盤ワーキンググループホームページ
http://www.ipa.go.jp/software/open/forum/DevInfraWG.html
株式会社日立製作所 関 洋子
著者プロフィール
株式会社日立製作所  関 洋子
1997年にシステム開発研究所に入所以降、ワークフローを中心としたBPM関連業務に従事。社内製品への新規機能提案や、Webサービス標準化推進に取り組んできたが、本プロジェクトよりOSS評価関連業務に携わることとなった。


INDEX
第4回:アプリケーション・プログラムの動作解析機能の開発とそれを用いた解析
動作解析機能の提案
  SPECjAppServer2004への適用結果
  実ユーザ環境下への近似
  検証内容および結果