スライド タイトルなしcopyright(c) 2005, development infrastructure wg, japan oss...

20
CopyrightC) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 0 2005年3月25日 SPECjAppServer2004による JBossの性能・信頼性評価 -評価手順- -カーネル2.4と2.6の比較- 新日鉄ソリューションズ(株) システム研究開発センター 稲木 宏一郎 Japan OSS Promotion Forum OSC2005 「独立行政法人 情報処理推進機構 オープンソースソフトウェア活用基盤整備事業」に係る委託業務の一環として実施

Upload: others

Post on 30-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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

「独立行政法人 情報処理推進機構 オープンソースソフトウェア活用基盤整備事業」に係る委託業務の一環として実施

Page 2: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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.商標です。

商標です。

商標です。

商標です。

商標です。

Page 3: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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では同様な機能を提供するものは存在しない模様

Page 4: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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

購入、管理、閲覧

顧客情報の取得・更新

商品閲覧

注文

生産指示

大量注文チェック

クレジットチェック

注文完了

大量注文通知

部品納品通知

注文完了通知

部品購入通知

部品購入部品納品

部品納品

Page 5: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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)

Page 6: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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サーバのみ

Page 7: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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

Page 8: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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の設定

Page 9: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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アプリケーションの配備

Page 10: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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アプリケーションの配備

Page 11: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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ホストに配備

Page 12: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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を行わない場合、不適切な実行計画となる為

Page 13: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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ホスト)

Page 14: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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

Page 15: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

Copyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 14

評価結果・考察(2)

• 負荷(規模)と処理性能の関係(考察)– 低負荷時には、処理性能はほとんど変わらず

– 高負荷時には、カーネル2.6の方がやや高性能

• 負荷(規模)と平均応答時間の関係(考察)– 低負荷時には、平均応答時間はほとんど変わらず

– 高負荷時には、カーネル2.4の方が応答時間がより遅くなる

– 高負荷時には、両者共に要求応答時間(2秒以内)を満たせず

• 性能限界に近い状況か

Page 16: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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

Page 17: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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がボトルネックに

Page 18: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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台

Page 19: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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経由

Page 20: スライド タイトルなしCopyright(C) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 1 目的・背景 •JBossの性能・信頼性評価手順の確立

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は結果の公開に制限