スライド タイトルなしcopyright(c) 2005, development infrastructure wg, japan oss...
TRANSCRIPT
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 0
2005年3月25日
SPECjAppServer2004によるJBossの性能・信頼性評価
-評価手順--カーネル2.4と2.6の比較-
新日鉄ソリューションズ(株)システム研究開発センター
稲木 宏一郎Japan
OSS Promotion Forum
OSC2005
「独立行政法人 情報処理推進機構 オープンソースソフトウェア活用基盤整備事業」に係る委託業務の一環として実施
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1
目的・背景
• JBossの性能・信頼性評価手順の確立– JBossがどこまで使える様になったのかを見極めたい
– 性能限界付近でのJBossの挙動を観察したい
• カーネル2.6は2.4に比べ良くなったか– 同一ハードウェア・ソフトウェア環境上で、OSのみを変化させて
測定を行う
– 性能限界付近での両者の挙動の違いを観察したい
• 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.rver2004.商標です。
商標です。
商標です。
商標です。
商標です。
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 2
SPECjAppServer2004とは?(1)
• SPECjAppServer2004の概要– SPEC.orgから購入可能($2,000)
• ソースコードは購入者以外非公開、ドキュメント・測定結果等は公開– http://www.spec.org/jAppServer2004/
– J2EE 1.3以降に準拠したAPサーバ上で可動
• JaveServer Pages, Servlet API, JDBC等を使用
• 個々のAPサーバ上で動かす為にはカスタマイズが必要
– 配備記述子、DataSource設定、Message Queue設定、等
– EJB 2.0の以下の機能群を使用
• Stateless/Stateful Session Bean• Message Driven Bean• CMP Entity Bean
– J2EE/EJBコンテナの総合的なベンチマークの代表格
• 現状OSSでは同様な機能を提供するものは存在しない模様
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 3
SPECjAppServer2004とは?(2)
• SPECjAppServer2004のアーキテクチャ
APサーバ
JMS
Dealer Domain Customer Domain
Corporate Domain
Driver
Manifacture Domain
Supplier Domain
Dealer Agent PlannedLineAgent
LargeOrderLIne Agent
Supplier Emulator
Bu
yerQ
ueue
LargeO
rderQ
ueue
Re
cieveQ
ueue
FullfillOrderQueue
HTTP
HTTP
RMI
SpecAppServlet
OrderSes
ItemBrowserSes
FulfillOrderMDB
CustomerSes
EmulatorServlet
ReceiveMDB
LargeOrderMDB
BuyerMDB
ReceiverSes
WorkOrderSes
LargeOrderSes
RMI
WorkOrderEnt
DeliveryServlet
購入、管理、閲覧
顧客情報の取得・更新
商品閲覧
注文
生産指示
大量注文チェック
クレジットチェック
注文完了
大量注文通知
部品納品通知
注文完了通知
部品購入通知
部品購入部品納品
部品納品
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 4
SPECjAppServer2004とは?(3)
• SPECjAppServer2004の内部構造– 5つのejb-jarにより構成(33 EJBs/20 tables)
• corp(4 EJBs/5 tables)• mfg(12 EJBs/5 tables)• orders(7 EJBs/3 tables)• supplier(8 EJBs/6 tables)• util(2 EJBs/1 tables)
– 2種のトランザクションに大別(35 patterns)• Dealer’s Web interaction(HTTP, 14 patterns)
– doLogin, doPurchase, doClearCart, doInventory, etc.– 3つのビジネストランザクションに大別
» Purchase(25%), Manage(25%), Browse(50%)
• EC transaction(RMI/IIOP, 21 patterns)– ScheduleWorkOrder, UpdateWorkOrder, etc.– 2種のLineに大別(PlannedLine, LargeOrderLine)
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 5
SPECjAppServer2004とは?(4)
• ベンチマーク測定後に得られる結果– 処理性能(総合、トランザクション種別毎)
• 単位時間あたりのトランザクション処理性能(JOPS)– JOPS = jAppServer Operation Per Second
– 応答時間(トランザクション種別毎)• 平均応答時間、最大応答時間、90%応答時間等
– 種々のテスト結果(約30のテスト項目)• トランザクション整合性、応答時間が要求範囲内か、等
– エラーログ、トランザクション詳細データ、等
• 測定結果の公開に対する制限– IR値およびJOPS値の公開には、SPEC.orgのレビューが必要
• IR = Injection Rate(サーバへの負荷並びにDBの規模を示す)• http://www.spec.org/jAppServer2004/results/ に手順・結果が公開
– ただし現状では商用APサーバのみ
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 6
環境構築手順(1)
• ハードウェア・ソフトウェア環境(例)
Driver 1x3GHz P4, 1GB Memory, 1x120GB HDD, 1xGigabit
Emulator 1x3GHz P4, 1GB Memory, 1x120GB HDD, 1xGigabit
Web/JMS 2x2.8GHz Xeon, 2.5GB Memory, 2x36GB HDD, 2xGigabit
AP Server 2x2.8GHz Xeon, 2.5GB Memory, 2x36GB HDD, 2xGigabit
DB Server 2x2.8GHz Xeon, 3GB Memory, 2x73GB HDD, 2xGigabit
Emulatorossem
Driverossld
AP Serverossas1
Web/JMS Serverosswj
DB Serverossds
192.168.102.x 192.168.101.x 192.168.104.x
12
11
15 15 11 11 15
OS Red Hat Enterprise Linux AS 2.1(2.4.9)SUSE LINUX Enterprise Server 9(2.6.5)
JDK Java 2 SDK, Standard Edition 1.4.2_04
DB Server PostgreSQL 7.4.6
AP Server JBoss 4.0.0
Web Server Apache httpd 2.0.46
Web Connector Jakarta mod_jk2 2.0.4
Application SPECjAppServer2004 V1.03
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 7
環境構築手順(2)
• DBサーバの設定– PostgreSQLをインストール
• データベースクラスタ(APデータ用)を作成
• pg_hba.conf, postgresql.conf を修正
– 同時接続数、バッファサイズ等のチューニング
• JMSサーバの設定– J2SE SDKをインストール
– PostgreSQLをインストール
• データベースクラスタ(JMSデータ用)を作成
• pg_hba.conf, postgresql.conf を修正
– JBossをインストール
• JDBCライブラリの設定(postgresql.jar)• JMSデータ保存用DataSource設定(上記のDB)• Message Queueの設定
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 8
環境構築手順(3)
• APサーバの設定– APサーバにJ2SE SDKをインストール
– APサーバにJBossをインストール
• 種々の設定ファイル群の修正($JBOSS_HOME/bin/run.conf等)• JDBCライブラリの設定
• APデータ用DataSourceの設定(DBサーバ上のPostgreSQL)• JMS用DataSourceの設定(JMSサーバ上のJBoss MQ)• SPECjAppServerアプリケーションの配備
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 9
環境構築手順(4)
• Webサーバの設定– Apache httpdのインストール
• mod_jk2ライブラリのインストール
• 設定ファイルの修正・追加– httpd.confの修正(同時接続数等のチューニング)– workers2.propertiesの追加(mod_jk2の設定)
• Emulatorの設定– J2SE SDKのインストール
– JBoss or Tomcatのインストール
• 設定ファイル群の修正
• EmulatorはEJBは使用しない為、TomcatでもOK– Emulatorアプリケーションの配備
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 10
環境構築手順(5)
• Driverホストの設定– J2SE SDKのインストール
– SPECjAppServer2004のインストール
• JDBCライブラリの設定
– 初期データロード時に必要
• JBoss(J2EE)ライブラリ群の設定
– アプリケーションビルド時、ベンチマーク測定時に必要
• JBoss用ビルドファイルの作成
• PostgreSQL用データベーススキーマの作成
• JBoss用配備記述子群の作成(Web/EJB)• 環境定義ファイルの作成($SPEC_HOME/config/jboss.env)
– ホスト名等、特定の測定環境に依存する情報が含まれる
• アプリケーションのビルド– SPECjAppServer.ear → APサーバに配備
– emulator.ear(war) → Emulatorホストに配備
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 11
測定手順(1)
• サーバプロセス群の起動– DBサーバの起動(PostgreSQL)– JMSサーバの起動(PostgreSQL, JBoss)– APサーバの起動(JBoss)– Webサーバの起動(Apache httpd)– Emulatorの起動(JBoss or Tomcat)
• DB・への初期データのロード– Driverホスト上で初期データロードプログラムを実行
• 実行時にDBの規模(Load Injection Rate = LIR)を指定
– 初期データロード後にANALYZEおよびREINDEXを実行
• 特にANALYZEを行わない場合、不適切な実行計画となる為
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 12
測定手順(2)
• 計算機群の負荷状況の測定– 各計算機上でsarを実行
• CPU利用率、ネットワーク負荷状況、ディスク負荷状況等を測定
• ベンチマーク測定の実行– ベンチマーク測定パラメータの設定
• rampUp/StdyState(本測定)/rampDown時間の設定
– 本番測定時は10分+60分+5分=75分
• txRate(負荷)値の設定
– LIR値(DBの規模)と関係
– 最小負荷から最大負荷まで複数のパターンで測定
– ベンチマーク測定プログラムの実行(Driverホスト)
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 13
評価結果・考察(1)
• 負荷(規模)と処理性能・平均応答時間の関係(結果)負荷と処理性能の関係(全体)
負荷
処理
性能
RHEL2.1(2.4) AP1台
SLES9(2.6) AP1台
理想直線
A B C D E
負荷と平均応答時間の関係(Purchase)
0
2
4
6
8
10
12
14
16
18
負荷
平均
応答
時間
(秒)
RHEL2.1(2.4) AP1台
SLES9(2.6) AP1台
要求応答時間
A B C D E
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 14
評価結果・考察(2)
• 負荷(規模)と処理性能の関係(考察)– 低負荷時には、処理性能はほとんど変わらず
– 高負荷時には、カーネル2.6の方がやや高性能
• 負荷(規模)と平均応答時間の関係(考察)– 低負荷時には、平均応答時間はほとんど変わらず
– 高負荷時には、カーネル2.4の方が応答時間がより遅くなる
– 高負荷時には、両者共に要求応答時間(2秒以内)を満たせず
• 性能限界に近い状況か
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 15
評価結果・考察(3)
• 負荷(規模)とCPU利用率の関係(結果)負荷とCPU負荷の関係(APサーバ)
0
10
20
30
40
50
60
70
80
90
100
負荷
CPU
負荷
(%)
RHEL2.1(2.4) %user
RHEL2.1(2.4) %sys
SLES9(2.6) %user
SLES9(2.6) %sys
A B D EC
負荷とCPU負荷の関係(APサーバ)
0
2000
4000
6000
8000
10000
12000
14000
16000
負荷
CPU
負荷
(csw
ch/s
)
RHEL2.1(2.4) cswch/s
SLES9(2.6) cswch/s
A B D EC
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 16
評価結果・考察(4)
• 負荷(規模)とCPU利用率の関係(考察)– 高負荷になるに従い、APサーバのCPU利用率が増加
• 最大負荷時には%userが70%以上に(かなり高負荷)• 他の計算機(Web/JMS/DB等)群のCPU利用率は低い(10%未満)
– 高負荷になるに従い、APサーバのcswch/sが増加
• 特にカーネル2.4の方の増加が著しい(秒間約14000回)– 高負荷時に不適切なスケジューリングが行われている可能性
• 他の計算機(Web/JMS/DB等)群のcswch/sはそれなり(2000未満)
• 負荷(規模)とディスク・ネットワーク等の利用率の関係
– 負荷に応じて利用率の上昇を確認。特に異常は見られず
– ネットワーク及びディスクはボトルネックにあらず
– APサーバ(JBossが稼働)のCPUがボトルネックに
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 17
評価結果・考察(5)
• 値渡しと参照渡しの比較(結果)» 値渡し: 同一JVM内でRemoteインターフェイス経由でEJB呼び出しを行う際、引数・返り値を値
(call by value)で受け渡す(EJB仕様準拠)» 参照渡し: 上記と異なり参照(call by reference)で受け渡す(EJB非準拠)
値渡しと参照渡しの比較(処理性能)
Dealer Mfg Total
処理
性能
値渡し:RHEL2.1(2.4) AP1台
参照渡し:RHEL2.1(2.4) AP1台
値渡し:SLES9(2.6) AP1台
参照渡し:SLES9(2.6) AP1台
値渡しと参照渡しの比較(平均応答時間)
0
5
10
15
20
25
30
35
40
Purchase Manage Browse Mfg
平均
応答
時間
(秒)
値渡し:RHEL2.1(2.4) AP1台
参照渡し:RHEL2.1(2.4) AP1台
値渡し:SLES9(2.6) AP1台
参照渡し:SLES9(2.6) AP1台
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 18
評価結果・考察(6)
• 値渡しと参照渡しの比較(考察)– 処理性能について、参照渡しの方がやや高性能
• Dealerトランザクションの性能向上が大きい
• Mfgトランザクションは性能向上は見られず
– 応答時間について、参照渡しの方が非常に高速
• Purchase, Manage, Browseトランザクションは非常に高速に
• Mfgトランザクションはそれほど大きくは変わらず
– トランザクション種別により向上度合いが異なる
• Dealer(Purchase, Manage, Browse)トランザクションはHTTP経由
• MfgトランザクションはRMI/IIOP経由
Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 19
まとめ・課題
• 今年度のまとめ– JBossのSPECjAppServer2004による評価手順の確立
• 評価手順並びに設定ファイル群を一般公開– http://www.ipa.go.jp/software/open/forum/ (日本OSS推進フォーラム)
– カーネル2.4と2.6の比較評価の実施
• カーネル2.6の方が概ね高性能な結果が得られた
• 今後の課題– JBossの継続的な評価の実施
• JBoss 4.0.1, 4.0.2, ... で性能・信頼性向上が期待
– より簡易的にベンチマーク測定を行いたい
• SPECjAppServer2004は環境構築が大変
– より自由に結果が公開できるベンチマークが欲しい
• SPECjAppServer2004は結果の公開に制限