{scrollbar}

top

この文章は、 SPECjAppServer2004 v1.05 と Geronimo v1.2 からコピーした バージョン です。まだアップデートが完了していなければ、まずは SPECjAppServer2004 v1.08Geronimo v2.0.2 にアップデートしてください。


Geromino での SPECjAppServer2004 ベンチマークの実行

まだ成功していません、貴方の助けが必要です!

この文章は標準規格である SPECjAppServer2004 のベンチマークを利用して Geronimo アプリケーション・サーバーのパフォーマンスを計測する方法を示します。

まだ問題があり、 GeronimoSPECjAppServer2004を実行できていません。
この文章は成功しているものではありませんが、どのようにしていけばよいかの資料集となるでしょう。
貴方に助けてもらいたい現在の問題は次のリンクにあります。#Running the benchmark

免責事項: この文章は体験をもとにして書かれていて、再現性があります。いずれの製品についてもこの文章は広範なガイドをするものではありません。製品のドキュメントを置き換えることはなく、ただの順を追った手順のガイドであり、私の環境において単純な構成で動作させるためにものです。本文章の内容を実施する前に、少なくとも両方(訳注: SPECjAppServer2004 と Geronimo のこと)のドキュメントに目を通しておいてください。

SPECjAppServerStandard Performance Evaluation Corp. (SPEC) の登録商標です。SPECjAppServer2004 の公式ウェブ・サイトは http://www.spec.org/jAppServer2004/です。
SPECjAppServer2004 version 1.08 は、オープン・ソースの研究開発プロジェクトと共有して見やすい結果表示にするレポート・ルールが利用できる EAStress2004 という縮小版ワークロードを利用しています。
SPECjAppServer2004 v1.08EAStress2004 ワークロードは、パフォーマンスの最適化のために開発中であり、公開フォーラムで結果を共有しています。SPECjAppServer2004 の結果と違って、EAStress2004 ワークロードのテスト結果は SPEC のように公開に先立ってレビューされる必要がありません。
EAStress2004 ワークロードの結果は、他の SPECjAppServer2004 での結果が許されていないのと同じように、商用目的で利用できません。
SPECjAppServer2004/EAStress2004 v1.08 に関するプレスリリース全文はこちらをご覧ください。http://www.spec.org/jAppServer2004/jAppServer2004v108.html.
この文章のすべてのログ、スタック、結果のファイルは EAStress2004 v1.08 実行結果から抽出したものです。

この文章は SPECjAppServer2004 v1.08Geronimo v2.0.2向けにかかれています。違うバージョンの場合は、いくつかの場面で記述が違っているかもしれません。この文章の古いバージョンは SPECjAppServer2004 v1.05 と以前の Geronimo のバージョンについて、次のリンク先にかかれています。v1.0, v1.1, v1.2.

記述されている構成はできるだけ Geronimo コンポーネントを利用しています。これには組み込みの Derby データベースや、 JettyTomcat サーブレット・コンテナーも含みます。実際、今回の構成は Java, Geronimo, 外部サーブレットコンテナー(例えば Tomcat) と SPECjAppServer2004のみを利用しています。 外部のコンポーネント(多くの例ではデーtqaベース)を組み込む場合は、それ相応に構成を変更しなければなりません。

また、この構成はすべてのコンポーネント(おそらく SPECjAppServer2004 ドライバーと SPECjAppServer2004サプライヤー・エミュレーターおよびそのサーブレット・コンテナーを除く)は同じ機械で実行されていることを想定しています。 ディストリビュート・ワークロードを利用したい場合は、違う構成になります。

この文章を書くための構成は Microsoft Windows XP Professional Service Pack 2 オペレーティング・システムと Cygwin シェル、Sun Java SE 5.0 Update 11 および Tomcat v5.0.30 としました。もし他の OS、Java またはサーブレット・コンテナーを使う場合は、いくつかの場面で違いがあるでしょう。

この文章ではコマンドラインでスラッシュ( / ) を使っています。Windows コマンド・プロンプトを利用しているときは、バック・スラッシュ ( \ ) に適宜置き換えてください。


この文章は以下のような構成になっています。

一般的な情報

Geronimo について

GeronimoApache Software Foundation Java EE 5 認証済みアプリケーション・サーバーです。Apache Licenseのもと開発され、自由にダウンロードできます。

Apache サイト: http://apache.org

製品サイト: http://geronimo.apache.org

最新バージョン 2.0.2: http://geronimo.apache.org/apache-geronimo-v202-release.html

リリース・ノート: http://cwiki.apache.org/GMOxDOC20/release-notes-202txt.html

ドキュメントページ: http://geronimo.apache.org/documentation.html

参考ドキュメント "Apache Geronimo: J2EE Development and Deployment" 著者 Aaron Mulder: http://chariotsolutions.com/geronimo/

その他のリソース FAQ: http://cwiki.apache.org/GMOxKB Wiki: http://cwiki.apache.org/geronimo

SPECjAppServer2004/EAStress2004 について

SPECjAppServer2004 Java EE アプリケーション・サーバーの性能計測のための商用ベンチマークです。

EAStress2004SPECjAppServer2004 v1.08の一部である縮小版ワークロードです。オープン・ソースの研究開発プロジェクトと共有して見やすい結果表示にするレポート・ルールが利用できる EAStress2004 という縮小版ワークロードを利用しています。

SPEC サイト: http://www.spec.org

製品サイト: http://www.spec.org/jAppServer2004/

Press release on v1.08 and EAStress2004: http://www.spec.org/jAppServer2004/jAppServer2004v108.html

v1.08 と EAStress2004 のプレスリリース: http://www.spec.org/jAppServer2004/jAppServer2004v108.html

FAQ: http://www.spec.org/jAppServer2004/docs/FAQ.html

ユーザー・ガイド: http://www.spec.org/jAppServer2004/docs/UserGuide.html

実行とレポートのルール: http://www.spec.org/jAppServer2004/docs/RunRules.html

Back to Top

製品の入手

Geronimo の入手

最新の Geronimo のバージョンは現在 2.0.2です。

ダウンロード・ページ: http://geronimo.apache.org/downloads.html

Geronimo には、 JettyTomcat のどちらかのサーブレット・コンテナーがデフォルトで利用できる2つのビルドがあります。いずれも http://geronimo.apache.org/downloads.htmlからダウンロードできます。おおよそ 55 MB のサイズです。この文章では Jetty バージョンでかかれていますが、Tomcat バージョンでも問題ありません。

SPECjAppServer2004 の入手

SPECjAppServer2004 は $2000 (非営利・教育目的なら $250) です。オンラインで注文できます。 See FAQ for details.

最新バージョンは 1.08です。SPECjAppServer2004-Kit-v1.08.jar というファイルで、サイズは 12 MBです。

Back to Top

環境設定

このセクションには、ホストとディレクトリーについて重要な記述があります。

ホスト

この文章は以下のマシンについてかかれています。

  • emulator.host - SPECjAppServer2004 サプライヤー・エミュレーターがデプロイされているマシン
  • driver.host - SPECjAppServer2004ドライバーを実行しているマシン。複数のドライバー構成を利用している時は、すべてのホストで同じ操作を繰り返す必要があります
  • master.host - 複数のドライバー構成の際の、メインとなる driver.host

emulator.hostdriver.host は同じマシンでもよいです。

geronimo.hostemulator.host は同じマシンでもよいです。さらに SPECjAppServer2004 サプライヤー・エミュレーターは Geronimo 組み込みのサーブレット・コンテナー(Jetty または Tomcat) にデプロイしてもよいです。

geronimo.hostdriver.host は同じマシンでもよいですが、その際は GeronimoSPECjAppServer2004 がそれぞれ作成する RMI レジストリーのデフォルトの通信ポート (1099) が衝突するので、 Geronimoの構成を 調整する必要があります。

geronimo.host と、emulator.hostdriver.host を共有することは SPECjAppServer2004ドキュメントに矛盾しますし、動作に深刻な影響をあたえ、ベンチマークの結果が不正となります。ただし、技術的には可能です。


ディレクトリー

このセクションではこの文章全体にわたって重要なディレクトリーを列挙します。これらのディレクトリーは任意に選択できますが、ダブってはいけません。

  • <GERONIMO> - geronimo.host にある Geronimo がインストールされたディレクトリー
  • <SPEC> - geronimo.host にあるSPECjAppServer2004 がインストールされたディレクトリー
  • <KIT> - geronimo.host にあるこの文章の添付ファイルを含んでいるディレクトリー
  • <TOMCAT> - emulator.host にある Tomcat がインストールされたディレクトリー
  • <DRIVER> - driver.host にある <SPEC> ディレクトリーをコピーしたディレクトリー
  • <DRIVER_GERONIMO> - driver.host にある <GERONIMO> ディレクトリーをコピーしたディレクトリー
  • <JAVA_HOME> - driver.host にある JAVA_HOME の位置
  • <OUTPUT> - driver.host にある SPECjAppServer2004 ドライバーの出力を保存したいディレクトリー
  • <DUMP> - driver.host にある SPECjAppServer2004 ドライバーの一時ファイルを保存したいディレクトリー

    Windows ではディレクトリーのパス名が長すぎたりスペースを含んでいる場合、正常に動作しないコンポーネントがあるかもしれません。長いパス名をやめたり、パス名からスペースを取り除くことをお勧めします。


Back to Top

製品の導入

最初に、この文章の添付ファイルをローカル・ディレクトリーに保存してください。これが <KIT> ディレクトリーになります。

Geronimo の導入

Geronimo.zip または .tar.gz アーカイブを利用すると簡単に導入できます。

ダウンロードしたアーカイブをローカル・ディレクトリーに展開してください。geronimo-jetty6-jee5-2.0.2 or geronimo-tomcat6-jee5-2.0.2 ディレクトリーが作られます。これが <GERONIMO> ディレクトリーになります。

SPECjAppServer2004 の導入

下記を実行してください。

solid

java -jar SPECjAppServer2004-Kit-v1.08.jar

Next をクリックし、ライセンス契約を読み、同意し、SPECjAppServer2004 をインストールしたいディレクトリーを入力してください。これが <SPEC> ディレクトリーになります。

Install をクリックしてください。

導入処理が完了するまで待ったのち、Ready をクリックしてください。

Back to Top

Geronimo の構成

構成の調整

もし geronimo.hostdriver.host が同じマシンでしたら、Geronimo RMI レジストリーの通信ポート番号を調整しなければなりません (例えば 1199 へ)。そうしないと、SPECjAppServer2004 ドライバーがデフォルトで利用する 1099 番ポートと衝突してしまいます。<GERONIMO>/var/config/config-substitutions.properties ファイルを編集し、NamingPort 変数値を変更してください。

Geronimo の始動

<GERONIMO> ディレクトリーへ移動してください。

以下のように入力して、Geronimo を始動してください。
solid

java -Djava.endorsed.dirs=lib/endorsed -javaagent:bin/jpa.jar -Dopenejb.jndiname.failoncollision=true -Dopenejb.jndiname.format={ejbName} -jar bin/server.jar





2つの OpenEJB 設定に注目してください。これらは Geronimo に対して SPECjAppServer2004 という名前の EJB JNDI を利用するように設定しています。
詳しくは http://cwiki.apache.org/GMOxDEV/client-jndi-names.htmlhttp://cwiki.apache.org/OPENEJB/service-locator.htmlをご覧ください。

適宜設定を調整しておけば、上記のかわりに <GERONIMO>/bin/geronimo.sh または <GERONIMO>/bin/geronimo.bat というスクリプトを利用することもできます。

Geronimo v2.0.2SPECjAppServer2004 アプリケーションがデプロイされる際にインターネットへ接続する必要があります。それは XML スキーマを http://java.sun.com サイトから取得するためです。
ですので、ファイアー・ウォールの内側にある場合、適切な -Dhttp.proxyHost=-Dhttp.proxyPort= オプションを Geronimo 始動コマンドに含めてください。
この問題は OPENEJB-700 のバグにより引き起こされます。バグが修正された後は不要になります。

さて、実行すると以下のような表示になります。

solid Booting Geronimo Kernel (in Java 1.5.0_11)... Starting Geronimo Application Server v2.0.2 [********************************] 100% 92s Startup complete Listening on Ports: 1050 127.0.0.1 CORBA Naming Service 1099 0.0.0.0 RMI Naming 1527 0.0.0.0 Derby Connector 2001 127.0.0.1 OpenEJB ORB Adapter 4201 0.0.0.0 OpenEJB Daemon 6882 127.0.0.1 OpenEJB ORB Adapter 8009 0.0.0.0 Jetty Connector AJP13 8080 0.0.0.0 Jetty SelectChannel Connector HTTP 8443 0.0.0.0 Jetty SelectChannel Connector HTTPS 9999 0.0.0.0 JMX Remoting Connector 61613 0.0.0.0 ActiveMQ Transport Connector 61616 0.0.0.0 ActiveMQ Transport Connector Started Application Modules: EAR: org.apache.geronimo.configs/webconsole-jetty6/2.0.2/car JAR: org.apache.geronimo.configs/mejb/2.0.2/car RAR: org.apache.geronimo.configs/activemq-ra/2.0.2/car RAR: org.apache.geronimo.configs/system-database/2.0.2/car WAR: org.apache.geronimo.configs/dojo-jetty6/2.0.2/car WAR: org.apache.geronimo.configs/remote-deploy-jetty/2.0.2/car WAR: org.apache.geronimo.configs/welcome-jetty/2.0.2/car Web Applications: / /console /console-standard /dojo /remote-deploy Geronimo Application Server started

もし違う結果が表示されていたら、特にネットワークのエラーが見えているようでしたら、どこかの構成がうまくできていないと思われます。

ローカル・ネットワーク・アドレスへの接続ができないために始動に失敗することがあります。この場合、例えば VPN インターフェースを利用していて、現在利用できないのかもしれません。デフォルトでは Geronimoは最初のローカル・アドレスを利用して各コンポーネントへ接続します。このアドレスが失効していたりすると始動時のエラーになります。
このような問題解決のために、利用されていないネットワーク・インターフェースを一度無効にし、再度有効化してみてください。


コンソールへの接続

ウェブ・ブラウザーを開き、http://geronimo.host:8080/console/ にある Geronimo コンソールへ接続してください。

ユーザー名とパスワード (systemmanager がデフォルトです) を利用してログインしてください。

これでコンソールを自由に操作することができます。

データベースの作成

Console Navigation にある Embedded DB - DB Manager を開いてください。

ベンチマーク・データベースを作成しますので、Create DB 欄にデータベース名として (SPECDB) を入力し、Create をクリックしてください。

SQL ファイルの読み込み

データベース・テーブルを作成するために、<SPEC>/schema/sql ディレクトリーにあるデフォルトの SQL スクリプトを利用しましょう。しかし、このディレクトリーには5つのスクリプトが入って、DROP TABLE コマンドも含まれます。これを実行すると、テーブルが未作成の場合の実行時にはエラーが発生します。

ですから、最初にテーブルを作成するときは allTablesNoDrop.sql ファイルを利用し、作られているテーブルを削除し再作成したいときは allTables.sql ファイルを利用することをお勧めします。両方のファイルとも <SPEC>/schema/sql にあるファイルで、単に同じ内容がかかれていますが、allTablesNoDrop.sql では DROP TABLE コマンドが省かれています。

テーブルの作成

Use DB 欄で SPECDB が選択されていることを確認し、SQL Command/s フレームに SQL をコピー・ペーストしてください。その上にある Run SQL ボタンをクリックしてください。

少し経つと、フレームがクリアーされ、その下の Result 欄に SQL command/s successful と表示されます。もしこのように表示されなかったら何か間違ってしまっているので、再度実施してください。

複数の SQL スクリプトを利用する時は、上記処理を必要回数繰りかえしてください。

Back to Top

SPECjAppServer2004 の構成

基本構成

deploy directory ディレクトリーのデプロイ

<SPEC>/src/deploy ディレクトリーへ移動し、reference サブ・ディレクトリーを中身ごと geronimo という名前でコピーしてください。

<SPEC>/src/geronimo にあるデプロイメント・プランを編集します。 mfg.xml、 orders.xml、supplier.xml ファイルからすべての message-driven-destination タグを取り除いてください。これらのタグを Geronimo v2.0.2 は適切に扱えません。
これらのタグを取り除くかわりに、これらのタグを <message-destination-type>javax.jms.Queue</message-destination-type> と置き換えることも可能です。
この問題は OPENEJB-701のバグにより引き起こされます。バグが修正された後は不要になります。

geronimo.env ファイル

<SPEC>/config ディレクトリーへ移動してください。

そこに添付されている geronimo.env のテンプレート・ファイルを配置してください。これを編集し、以下の値を正しく設定してください。

JAS_HOME=<SPEC>
JAVA_HOME=<JAVA_HOME>
J2EE_HOME=<GERONIMO>
JAS_HOST=geronimo.host
EMULATOR_HOST=emulator.host

デレクトリーのセパレーターとしてスラッシュ ( / ) を利用します。

他の影響のない変数を消すこともできます。

appsserver ファイル

<SPEC>/config/appsserver ファイルを編集し、そこにある default という文字を geronimo に置き換えてください。

run.properties ファイル

<SPEC>/config/run.properties ファイルを編集し、driver.host 上で動作するように以下の変数が適切な値になるようにしてください。

Url = http://geronimo.host:8080/SPECjAppServer/app?
outDir = <OUTPUT>
dumpDir = <DUMP>

setenv.bat ファイル

<SPEC>/bin/setenv.bat ファイルを編集し、以下の変数値の設定を確認してください。

JAVA_HOME=<JAVA_HOME>
JAS_HOME=<DRIVER>
APPSSERVER=geronimo

アプリケーションのビルド

<SPEC> に移動してください。

以下のコマンドでインストール状態をクリーン・アップします。

solid

ant/bin/ant clean

以下のコマンドでアプリケーションをビルドし、Geronimo向けに構成します。

solid

ant/bin/ant -Dappserver=geronimo

BUILD SUCCESSFUL という結果になるでしょう。

<SPEC>/jars ディレクトリーに SPECjAppServer.earemulator.war というファイルが作られていることを確認してください。

emulator.warEmulator.war へリネームしてください。

データベース構成の準備

この構成では、すべてのテーブルが同じデータベースを利用するようになっています。

<SPEC>/config ディレクトリーに移動してください。添付されている db.properties テンプレート・ファイルの内容を参考にして db.properties の内容を置き換えてください。pipeDir 変数の値がテンポラリー・ディレクトリーを指し示しているか確認し、必要な調整をしてください。

テーブルの読み込み

下記を実行してください。

solid

ant/bin/ant -Dappserver=geronimo loaddb

しばらくすると、BUILD SUCCESSFUL と表示されるでしょう。

Back to Top

コンポーネントのデプロイ

この段階で、Geronimoに構成済みコンポーネントをデプロイする必要があります。

geronimo.host と driver.host が同じマシンの場合、Geronimo RMI レジストリーの通信ポート番号を 変更 していますので、deployer へのコマンドには次のような通信ポート番号指定をすることがあることを注意してください。

solid

java -jar bin/deployer.jar -port 1199 ...

ログイン

deployer を呼び出す際に毎回ログイン認証を行うことをやめるには、最初に以下のようにログインします。

solid

java -jar bin/deployer.jar -u system -p manager login

データベース・コネクターのデプロイ

先に作成した DerbySPECDB データベース用コネクタをデプロイするには、<GERONIMO> ディレクトリーに移動し、以下を実行します。

solid

java -jar bin/deployer.jar deploy repository/org/tranql/tranql-connector-derby-embed-xa/1.4/tranql-connector-derby-embed-xa-1.4.rar <KIT>/sjas-db.xml

SPECjAppServer2004/DB/1.08/rar という処理結果が表示されるでしょう。

JMS コネクターのデプロイ

SPECjAppServer2004ActiveMQJMS コネクターをデプロイするには、<GERONIMO> ディレクトリーに移動し、以下を実行します。

solid

java -jar bin/deployer.jar deploy repository/org/apache/geronimo/modules/geronimo-activemq-ra/2.0.2/geronimo-activemq-ra-2.0.2.rar <KIT>/sjas-jms.xml

SPECjAppServer2004/JMS/1.08/rar という処理結果が表示されるでしょう。

メイン・アプリケーションのデプロイ

GeronimoSPECjAppServer2004 をデプロイするために、今回の構成は Geronimo バージョン 2.0.2 用に更新された http://svn.apache.orgGeronimo ソースの中にあるデプロイメント・プランを利用しています。

<GERONIMO> ディレクトリーに移動し、以下を実行します。

solid

java -jar bin/deployer.jar deploy <SPEC>/jars/SPECjAppServer.ear <KIT>/sjas-app.xml

SPECjAppServer2004/Application/1.08/ear という処理結果が表示されるでしょう。

デプロイの確認

この段階で、デプロイが成功し、SPECjAppServer2004 が操作可能であることを確認します。

手動トランザクション

デプロイされた SPECjAppServer2004 の次のページを開きます。http://geronimo.host:8080/SPECjAppServer/

左側のメニューにある Go Trade Autos! または Go Build Cars! リンクをクリックします。

デフォルトの認証である (1) を利用して、Log in をクリックしてログインします。

プログラムのインターフェースが見えます。トランザクションが動作可能になります。

不可分性テスト

デプロイされた SPECjAppServer2004 の次のページを開きます。http://geronimo.host:8080/SPECjAppServer/

左側メニューにある Atomicity Tests リンクをクリックします。

3つの atomicity tests が実行され、結果が表示されます。すべての結果に PASSED と表示されたときはデプロイが正常ということです。

Back to Top

サプライヤー・エミュレーターのデプロイ

emulator.hostSPECjAppServer2004 サプライヤー・エミュレーターをデプロイするには、以下のいずれかひとつを利用してください。

Geronimo 組み込みのサーブレット・コンテナー (今回は emulator.hostgeronimo.host は同じマシンです)、または emulator.host にあるスタンド・アロンのサーブレット・コンテナー

SPECjAppServer2004 ドキュメント によると、サプライヤー・エミュレーターのサーブレット・コンテナーの keep-alive オプションがオフである必要があります。これを無視することもできますが、性能に重大な影響を与えてしまいます。

Geronimo サーブレット・コンテナーの利用

<GERONIMO> ディレクトリーに移動し、以下を実行してください。

solid

java -jar bin/deployer.jar deploy <SPEC>/jars/Emulator.war <KIT>/sjas-emulator.xml

SPECjAppServer2004/Emulator/1.08/war @ /Emulator という処理結果が表示されるでしょう。

スタンド・アロン・サーブレット・コンテナーの利用

この構成では、emulator.host にあるスタンド・アロンのサーブレット・コンテナーが Tomcat がデフォルトの通信ポート (8080) で実行されているとします。

emulator.host<TOMCAT> ディレクトリーに Tomcat をインストールしてください。

わざわざ <SPEC>/config/tomcat.env ファイルを編集したり、ant/bin/ant -f tomcat.xml コマンドを実行したりしないでください。
#Building the applicationの時点で既に作成されている Emulator.war ファイルが生成するので、両ファイルとも不要です。

<SPEC>/jars/Emulator.war ファイルを <TOMCAT>/webapps ディレクトリーへコピーし、<TOMCAT>/webapps/Emulator ディレクトリーが存在していたら削除してください。

emulator.host 上の <TOMCAT> ディレクトリーへ移動し、以下のとおり Tomcatを始動してください。

solid

bin/catalina run

デプロイの確認

http://emulator.host:8080/Emulator/ ページへ移動してください。通常どおり読み込まれると、中に2つのファイル delivery.dtdpo.dtd を含んでいるひとつのディレクトリー dtd が表示されます。

http://emulator.host:8080/Emulator/EmulatorServlet ページへ移動してください。以下のようなテキストのページが表示されます。

whitesolid

Emulator Servlet seems to work OK
JAS_HOST : emulator.host
JAS_PORT : 8080
Servlet URL : Supplier/DeliveryServlet

Number of Transactions : 0
Servlet invoked without command specified

Back to Top

ベンチマークの実行

driver.host<GERONIMO> ディレクトリーをコピーし、これを <DRIVER_GERONIMO> ディレクトリーとします (実際はいくつかの jar ファイルだけが必要です) 。

driver.host<SPEC> ディレクトリーをコピーし、これを <DRIVER> ディレクトリーとします。

<DRIVER>/config/geronimo.env ファイルの JAS_HOME 変数を <DRIVER> ディレクトリーに変更し、J2EE_HOME 変数を <DRIVER_GERONIMO> ディレクトリーに変更してください。

driver.host<DRIVER> ディレクトリーに移動し、以下を実行してください。

solid

bin/setenv.bat

これにより Driver を実行する環境が構成されます。

ドライバーを起動するときは、以下を実行します。

solid

bin/driver.bat

もし複数の Driver を分散して読み込みたいなら、最初のホスト (master.host のこと)の始動後、他の Driver ホストで以下のように Driver を始動してください。

solid

bin/driver.bat master.host

Driver が始動すると、以下のような出力が表示されるでしょう。

solid The following environment settings are in effect for SPECjAppServer2004 * ========================= * JAVA_HOME=<JAVA_HOME> JAS_HOME=<DRIVER> CONFIG_DIR=<DRIVER>\config APPSSERVER=geronimo ENVFILE=<DRIVER>\config\geronimo.env * ========================= * Driver Host: <driver.host> Binding controller to //<driver.host>/Controller DriverDebug: DealerAgent <propsFile> <agentName> <masterMachine> Controller: Registering M1 on machine <driver.host IP address> Controller: Registering O1 on machine <driver.host IP address> Controller: Registering L1 on machine <driver.host IP address> Calling switchLog as master RunID for this run is : 75 Output directory for this run is : <OUTPUT>\75 TTF1 = 93 ttf = 93 Configuring 1 DealerAgent(s)... DealerAgent O1, Thread 0 started DealerAgent O1, Thread 1 started DealerAgent O1, Thread 2 started DealerAgent O1, Thread 3 started DealerAgent O1, Thread 4 started DealerAgent O1, Thread 5 started DealerAgent O1, Thread 6 started DealerAgent O1, Thread 7 started DealerAgent O1, Thread 8 started DealerAgent O1, Thread 9 started Configuring 1 MfgAgent(s)... MfgAgent M1, Thread 0 started MfgAgent M1, Thread 1 started MfgAgent M1, Thread 2 started Configuring 1 LargeOLAgent(s)... MfgAgent L1, Thread 0 started Rampup = Fri May 12 20:49:51 MSD 2006 SteadyState = Fri May 12 20:59:51 MSD 2006 Rampdown = Fri May 12 21:59:51 MSD 2006 Finish = Fri May 12 22:04:51 MSD 2006 sleeptime is 28417 note this is time in excess needed for trigger Starting Ramp Up...

この意味は、Driver が通常どおり始動した、ということを表します。

RampupSteadyStateRampdownFinish の時間を確認してください。ベンチマークが完了するまでに要した時間が表示されています。

Ctrl-C を押せば、いつでも実行を中断できます。

Driver 始動時にエクセプションが発生したり、他の問題が起こることがあります。この場合は、Ctrl-C を押してテストを中断し、再度実行してください。うまくいくことがあります。

毎回実行前にデータベース・テーブルを 再読み込みすることをお勧めします。直前の実行が正常に終了しなかった場合などでは特に勧めます。そうしないと、以下のようなエラーが発生するかもしれません。

solid java.rmi.RemoteException: Failure in calling validateInitialValues() java.rmi.RemoteException: Invalid initial Order DB State at org.spec.jappserver.driver.Auditor.validateInitialValues(Auditor.java:201) at org.spec.jappserver.driver.Driver.configure(Driver.java:330) at org.spec.jappserver.driver.Driver.<init>(Driver.java:160) at org.spec.jappserver.driver.Driver.main(Driver.java:1137)

実行中、Driver のウィンドウに次のような処理結果が表示されることがあります。

solid AbstractSJASLoad> Application error has already been cancelled

また、同じタイミングで様々な TransactionRolledback や他の同じようなエクセプションが Geronimoのシェルで発生しています。

これらの処理結果は Geronimo v2.0.2 に含まれる TranQL バージョン 1.3 が十分なトランザクションの分離レベルを与えていないから発生しているかもしれません。TranQL バージョン 1.3.1 でこの問題が修正されることを願います。

実行が無事完了すると、以下のような出力が表示されるでしょう。

solid Gathering DealerStats ... Gathering MfgStats ... summary file is <OUTPUT>\75\SPECjAppServer.summary SPECjAppServer2004 v1.08 Results JOPS: *** Dealer Response Times Purchase...0.4 Manage.....1.5 Browse.....0.4 Manufacturing Response Times Mfg........0.0 Calling getLog as master

JOPS の数は、ベンチマークの最終測定値です。

Geronimoでは現在、利用したハードウェアによらずこれらの値がかなり低くなります。おそらくなんらかの構成上の問題がまだ残っているのか、あるいは前述のTranQL の問題かもしれません。

Back to Top

実行結果

Driver が実行されると、<OUTPUT> ディレクトリーの中に数字で名前がつけられたサブ・ディレクトリーが作られます。一番大きい数字のサブ・ディレクトリーが最後に実行した結果です。Driver の実行が完了したら、result.props ファイルがディレクトリー内に作られていて、これがベンチマークの未加工である結果データを持っています。

<DRIVER>/reporter ディレクトリーへ移動し、Sample_Submission.txt を任意の名前 (たとえば Your_Submission.txt) としてコピーし、そのコピーを SPECjAppServer2004 User's Guide :: Section 5 - Resultsの記述にしたがって編集し、result.props という未加工の結果データをこのディレクトリーに追加します。

以下のコマンドを実行してください。HTML 形式のベンチマーク・レポートを Your_Submission.report.html という名前で生成します。

solid

java -cp reporter.jar reporter Your_Submission.txt

以下のコマンドを実行してください。テキストのみのベンチマーク・レポートを Your_Submission.report.txt という生で生成します。

solid

java -cp reporter.jar reporter -a Your_Submission.txt

実行結果を提出する詳しい方法は SPECjAppServer2004 User's Guide :: Section 5.3 - Submitting the Results をご覧ください。

Back to Top

  • No labels