TOP比較データ> アプリケーションのビルド・配備
OSS評価手法
オープンソースソフトウェアの性能・信頼性評価手法

第2回:Java AP層の評価 〜 概要とカーネル比較

著者:新日鉄ソリューションズ  稲木 宏一郎   2005/5/23
前のページ  1  2  3  4
アプリケーションのビルド・配備

   すべての計算機へのソフトウェアのインストール・設定作業が完了した後に、SPECjAppServerアプリケーションのビルドおよび、アプリケーションサーバへの配備(deploy)を行う。SPECから入手したソフトウェアパッケージには、アプリケーションのソースコード、Ant用のビルドファイル、特定のコンテナに依存しない配備記述子(デプロイメント・デスクリプタ)などが含まれているが、特定のコンテナ(JBossやWebLogic)が必要とする配備記述子は含まれていない。

   そこでコンテナ(JBossあるいはWebLogic)依存の配備記述子を作成し、ビルドファイルを修正し、J2EEアプリケーションアーカイブ(.earファイル)にコンテナ依存の配備記述子が含まれる様にする。コンテナ依存の配備記述子やビルドファイルなどは、報告書の付録ファイルにすべて含まれるため、読者が改めて作成・修正を行う必要はない。

JBoss用アプリケーションのビルド手順
$ cd $SPEC_DIR
$ ./ant/bin/ant -f jboss-build.xml

   「$SPEC_DIR」はSPECjAppServer2004のインストールディレクトリを表す。アプリケーションのビルド完了後に、でき上がったアーカイブファイル(.earファイル)をAP Serverの指定したディレクトリに複製することで配備作業が完了する。


初期データのロード

   ベンチマーク測定の前に、アプリケーションのビルド・配備に加え、データベースに対して初期データをロードしておく必要がある。初期データのロードプログラムもSPECjAppServer2004のパッケージに含まれているため、ロードプログラムの実行を指示するだけで良い。

初期データのロード手順
$ cd $SPEC_DIR // SPECjAppServer2004のインストールディレクトリ
$ ./ant/bin/ant -f jboss-build.xml loaddb -DSCALE=<データの規模を示す数値>

   初期データのロードの際には、データの規模を示す数値を指定する必要がある。この数値は、ベンチマーク測定の際の負荷を示す数値と密接な関わりを持っており、データの規模が大きくなるにつれて、より大きく負荷を与える様な関係となっている。


ベンチマーク測定の実施

   以上長々と述べてきたすべての作業が完了し、必要なサーバプロセス群がすべて動いている状態で、はじめてベンチマーク測定を開始することが可能となる。

ベンチマーク測定の開始手順
$ cd $SPEC_DIR // SPECjAppServer2004のインストールディレクトリ
$ ./bin/driver.sh

   指定した時間が経過すると、指定されたディレクトリの中にベンチマーク結果が出力され、測定が完了する。もしも何らかの異常が発生し、測定が正常終了しなかった場合、ベンチマークプログラムが出力する結果ファイルの他に、様々なサーバプロセス群が出力するログファイル等を参照し、異常が発生した原因を突き止める必要があるだろう。

   また、ベンチマーク測定プログラムの実行に合わせ、各計算機群のCPU、メモリ、ディスク、ネットワーク等の負荷状況を測定しておくのも良いだろう。本評価では、sarコマンドなどを用い、すべての計算機上で負荷状況を計測することで、様々な有益な情報(どこがボトルネックになっているか、処理性能と計算機の負荷の関係はどうなっているか、など)を得ることができた。


評価結果

   以下に評価結果の一部を紹介する。評価結果およびその分析と考察の詳細に関しては、報告書(3-36〜3-61、4-39〜4-50、5-36〜5-69、6-85〜6-129)を参照されたい。


Linuxカーネル2.4と2.6の比較結果

   以下にカーネル2.4とカーネル2.6の処理性能の比較結果を示す。両者同一のハードウェア環境上で、OSのみを変化させて(OS以外のソフトウェア構成も両者同一)測定を行った。

カーネル2.4と2.6の比較結果
図4:カーネル2.4と2.6の比較結果
SPECjAppServer is a trademark of the Standard Performance Evaluation Corp. (SPEC). The SPECjAppServer2004 results or findings in this publication have not been reviewed or approved by SPEC, therefore no comparison nor performance inference can be made against any published SPEC result. The official web site for SPECjAppServer2004 is located at http://www.spec.org/osg/jAppServer2004.

   図において、横軸はシステムに与える負荷の度合いを示し、縦軸は単位時間辺りのトランザクション処理性能を示す。測定に際してAからEまで5段階の負荷を与えたが、負荷の値は等間隔ではなく、高負荷になるほど間隔をより大きくした。また理想直線とは、低負荷時におけるトランザクション処理性能を負荷の比率に応じて直線化したものである。グラフを見ると、低負荷時において両者の処理性能は同等であるが、高負荷になるに従い、カーネル2.4の方が処理性能の落ち込みがより大きいことがわかる。

   ただし本比較は、比較的古い(カーネル2.6の新機能が取り込まれていない)カーネル2.4と、(評価時点においてほぼ最新の)カーネル2.6の比較であることに注意が必要である。カーネル2.6の新機能群が取り込まれたカーネル2.4とカーネル2.6の比較においては、上記の図ほど高負荷時における極端な性能差は見られなかった(報告書の3-39〜3-56ページ辺りを参照)。

   また本比較は、あくまでも特定のハードウェアおよびソフトウェア環境上における測定結果であり、一般的なカーネルの性能比較ではない点に注意されたい。使用するハードウェアやソフトウェアの種類やバージョンが変化すれば、当然結果も様々に変化するだろう。

   次回は「JBossと商用APサーバの比較」について紹介する。

前のページ  1  2  3  4


新日鉄ソリューションズ株式会社 稲木 宏一郎
著者プロフィール
新日鉄ソリューションズ株式会社  稲木 宏一郎
1992年に新日本製鐵(株)に入社後は、C++言語によるオブジェクト指向ソフトウェアの研究・開発に携わる。その後所属組織はそのままに別会社(新日鉄ソリューションズ)となる。現在はシステム研究開発センターでJava/J2EEアプリケーション・フレームワークの開発やOSSの評価などに取り組んでいる。


INDEX
第2回:Java AP層の評価 〜 概要とカーネル比較
  はじめに
  SPECjAppServer2004とは?
  ハードウェア・ソフトウェア環境
アプリケーションのビルド・配備