specjappserver2004によるjbossの性能・信頼性評価 -商用...

29
CopyrightC) 2005, Development Infrastructure WG, Japan OSS Promotion Forum 0 2005年3月25日 SPECjAppServer2004によるJBossの性能・信頼性評価 -商用APサーバとの比較- -TIPS- (株) NTTデータ オープンソース開発センタ 金子 崇之 Japan OSS Promotion Forum OSC2005 「独立行政法人 情報処理推進機構 オープンソースソフトウェア活用基盤整備事業」に係る委託業務の一環として実施

Upload: others

Post on 30-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

2005年3月25日

SPECjAppServer2004によるJBossの性能・信頼性評価

-商用APサーバとの比較--TIPS-

(株) NTTデータオープンソース開発センタ

金子 崇之Japan

OSS Promotion Forum

OSC2005

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

Page 2: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

商用APサーバとの比較

検証目的– SPECjAppServer2004の測定手順の確立測定手順の確立

• JBossクラスタ環境•• WebLogicWebLogicクラスタ環境クラスタ環境

– OSSアプリケーションサーバの適用領域を明確化適用領域を明確化• 商用と比較することで、OSSだけでは分からないことを

検証内容– APサーバ台数を11台~台~44台台に変化させ性能比較

• スループット/応答時間• CPUリソース等のサーバリソース

– スケーラビリティを確認–– HttpSessionHttpSessionレプリケーションレプリケーションを使用した測定を実施

• ネットワークを介したサーバメモリ間のHttpSessionコピー

• システム全体の性能と信頼性を高める方式

Page 3: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

これらの比較を元に、適用領域を考察これらの比較を元に、適用領域を考察これらの比較を元に、適用領域を考察

検証内容

測定パターンと比較

測定 APサーバHttpSession

レプリケーション比較A 比較B 比較C 比較D

1 JBoss 有り ○○ ○○

2 JBoss 無し ○○ ○○

3 WebLogic 有り ○○ ○○

4 WebLogic 無し ○○ ○○

– 比較A:JBossのHttpSessionレプリケーション有り/無し比較

– 比較B:WebLogicのHttpSessionレプリケーション有り/無し比較

– 比較C:JBossとWebLogicの単体比較

– 比較D:JBossとWebLogicのクラスタ比較

Page 4: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

検証環境

検証環境

サーバ Driver Emulator Web/JMS DBサーバ APサーバ

名称 DL360G4 DL360G3

CPU 2x3.4GHz Xeon-(e) 1x2.8GHz

Xeon

Mem 2GB 4GB 2GB

Disk 2x36GB HDD(SCSI), RAID0, write-cache 2x36GB HDD(SCSI

), RAID1

Driver

Emulator

Web/JMS

AP1

AP2

AP3

AP4

DB

NWはGbit

ソフトウェア種別

SPECjAppServer2004 V1.03Application

mod_jk2 2.0.4 / wl_proxyConnector

Apache httpd 2.0.46Web Server

JBoss 4.0.0 / WebLogic8.1SP3AP Server

PostgreSQL 7.4.6DB Server

J2SE 1.4.2_04 / JRockit1.4.2_04JDK

Red Hat Enterprise Linux 3.0 AS(U3)

OS

APサーバのスペックを抑え、DBサーバネックを回避

Page 5: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

測定 APサーバHttpSession

レプリケーション比較A 比較B 比較C 比較D

1 JBoss 有り ○○ ○○

2 JBoss 無し ○○ ○○

3 WebLogic 有り ○○ ○○

4 WebLogic 無し ○○ ○○

比較A:JBossのHttpSessionレプリケーション有り/無し比較

Page 6: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

0

5

10

15

20

25

30

35

40

0 5 10 15 20

負荷(規模)

処理

性能

JBoss AP1台 JBoss AP2台 JBoss AP3台JBoss AP4台 JBoss AP1台レプなし JBoss AP2台レプなしJBoss AP3台レプなし JBoss AP4台レプなし 理想値

測定結果(比較A 1/4)

JBossクラスタ(HttpSessionレプリケーション有り/無し)– スループット

A B C D E F G

HttpSessionレプリケーション無し1台の方がHttpSessionレプリケーション有り複数台より性能が良い

HttpSessionレプリケーション無し1台の方がHttpSessionレプリケーション有り複数台より性能が良い

レプリケーション有りではスケールせず!

JBoss1台時、HttpSessionレプリケーションの設定を行うだけで性能大幅劣化

レプリケーション無し1台限界値

レプリケーション無し2台以上は限界値見えず

Page 7: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

0

5

10

15

20

25

30

35

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

JBoss AP1台 JBoss AP2台 JBoss AP3台JBoss AP4台 JBossレプなし 1台 JBossレプなし 2台JBossレプなし 3台 JBossレプなし 4台 Mfg基準値

測定結果(比較A 2/4)

JBossクラスタ(HttpSessionレプリケーション有り/無し)– レスポンスタイム(Mfg)

A B C D E F G

応答時間が劣化しているのは、JBoss AP1台時のみ

応答時間が劣化しているのは、JBoss AP1台時のみ

JBoss1台レプリケーション有り性能劣化

JBoss1台レプリケーション無し性能劣化

Page 8: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

0102030405060708090

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

JBoss AP1台 JBoss AP2台 JBoss AP3台JBoss AP4台 JBossレプなし 1台 JBossレプなし 2台JBossレプなし 3台 JBossレプなし 4台 Purchase基準値

A B C D E F G0

10203040506070

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

JBoss AP1台 JBoss AP2台 JBoss AP3台JBoss AP4台 JBossレプなし 1台 JBossレプなし 2台JBossレプなし 3台 JBossレプなし 4台 Manage基準値

A B C D E F G

JBossクラスタ(HttpSessionレプリケーション有り/無し)– レスポンスタイム(Purchase, Manage, Browse)

測定結果(比較A 3/4)

0

20

40

60

80

100

120

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

JBoss AP1台 JBoss AP2台 JBoss AP3台JBoss AP4台 JBossレプなし 1台 JBossレプなし 2台JBossレプなし 3台 JBossレプなし 4台 Browse基準値

A B C D E F G

レプリケーション無しの場合は1台のみ劣化

レプリケーション有りの場合大幅に劣化

HttpSessionレプリケーションにより大幅に応答時間が劣化

HttpSessionレプリケーションにより大幅に応答時間が劣化

Page 9: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

測定結果(比較A 4/4)

JBossクラスタ(HttpSessionレプリケーション有り/無し)– 平均CPU使用率

0

10

20

30

40

50

60

70

80

90

100

0 5 10 15 20

負荷(規模)

平均

CP

U使

用率

(%)

JBoss AP1台 JBoss AP2台 JBoss AP3台JBoss AP4台 JBossレプなしAP1台 JBossレプなしAP2台JBossレプなしAP3台 JBossレプなしAP4台

A B C D E F G

レプリケーション有りの場合急激に高くなる

処理性能が伸びていないのにCPUも使い切れていない

レプリケーション無し1台ではCPU使いきれている

CPU使い切っていないが処理限界では無いので問題無い

レプリケーションが実際に行われているとCPUが使い切れていないMfg(EJB直接アクセス)応答時間はCPU使用率と関連?

レプリケーションが実際に行われているとCPUが使い切れていないMfg(EJB直接アクセス)応答時間はCPU使用率と関連?

Page 10: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

測定 APサーバHttpSession

レプリケーション比較A 比較B 比較C 比較D

1 JBoss 有り ○○ ○○

2 JBoss 無し ○○ ○○

3 WebLogic 有り ○○ ○○

4 WebLogic 無し ○○ ○○

比較B:WebLogicのHttpSessionレプリケーション有り/無し比較

Page 11: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

測定結果(比較B 1/3)

WebLogicクラスタ(HttpSessionレプリケーション有り/無し)– スループット

0

5

10

15

20

25

30

35

40

0 5 10 15 20

負荷(規模)

処理

性能

WebLogic AP1台 WebLogic AP2台 WebLogic AP3台WebLogic AP4台 WebLogic AP1台レプなし WebLogic AP2台レプなしWebLogic AP3台レプなし WebLogic AP4台レプなし 理想値

HttpSessionレプリケーション有り/無しに関わらず処理限界を迎えていない

HttpSessionレプリケーション有り/無しに関わらず処理限界を迎えていない

A B C D E F G

Page 12: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

測定結果(比較B 2/3)

WebLogicクラスタ(HttpSessionレプリケーション有り/無し)– 応答時間(Mfg, Purchase, Manage, Browse)

0

1

2

3

4

5

6

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

Weblogic 1台 Weblogic 2台 Weblogic 3台Weblogic 4台 Webligicレプなし 1台 Webligicレプなし 2台Webligicレプなし 3台 Webligicレプなし 4台 Mfg基準値

0.0

0.5

1.0

1.5

2.0

2.5

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

Weblogic 1台 Weblogic 2台 Weblogic 3台Weblogic 4台 Webligicレプなし 1台 Webligicレプなし 2台Webligicレプなし 3台 Webligicレプなし 4台 Manage基準値

0.0

0.5

1.0

1.5

2.0

2.5

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

Weblogic 1台 Weblogic 2台 Weblogic 3台Weblogic 4台 Webligicレプなし 1台 Webligicレプなし 2台Webligicレプなし 3台 Webligicレプなし 4台 Purchase基準値

0.0

0.5

1.0

1.5

2.0

2.5

0 5 10 15 20

負荷(規模)

平均

応答

時間

(秒)

Weblogic 1台 Weblogic 2台 Weblogic 3台Weblogic 4台 Webligicレプなし 1台 Webligicレプなし 2台Webligicレプなし 3台 Webligicレプなし 4台 Browse基準値

HttpSessionレプリケーション有り/無しに関わらず応答時間は劣化していない

HttpSessionレプリケーション有り/無しに関わらず応答時間は劣化していない

A B C D E F G A B C D E F G

A B C D E F G

Page 13: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

測定結果(比較B 3/3)

WebLogicクラスタ(HttpSessionレプリケーション有り/無し)– 平均CPU使用率

0

10

20

30

40

50

60

70

80

90

100

0 5 10 15 20

負荷(規模)

平均

CP

U使

用率

(%)

WebLogic AP1台 WebLogic AP2台 WebLogic AP3台WebLogic AP4台 WebLogicレプなしAP1台 WebLogicレプなしAP2台WebLogicレプなしAP3台 WebLogicレプなしAP4台

HttpSessionレプリケーション有り/無しに関わらず傾向は同じ

HttpSessionレプリケーション有り/無しに関わらず傾向は同じ

A B C D E F G

1~3台では負荷D-E間で急激に高くなる

4台では負荷E-F間で急激に高くなる

Page 14: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

JRockitのロックアルゴリズム

Fat Spinについて– JRockit1.4.2_04(WebLogic8.1SP3付属)ではFat Spinを使用– ロック獲得時、まずspinロックを行い待ち時間が長くなったらス

リープさせる方式– -XX+disablefatspinオプションにより無効化

0102030405060708090

100

D E F G D E F G

Fat Spinあり Fat Spinなし

負荷(規模)

平均

CP

U使

用率

(%)

%user %system %iowait

Fat Spinを無効化することにより、CPU使用率が大幅に下がる

Fat Spinを無効化することにより、CPU使用率が大幅に下がる

CPU使用率は下がったが測定範囲内では処理性能の劣化は無し

Page 15: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

比較C:JBossとWebLogicの単体比較

測定 APサーバHttpSession

レプリケーション比較A 比較B 比較C 比較D

1 JBoss 有り ○○ ○○

2 JBoss 無し ○○ ○○

3 WebLogic 有り ○○ ○○

4 WebLogic 無し ○○ ○○

Page 16: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

0

5

10

15

20

25

30

35

40

0 5 10 15 20

負荷(規模)

処理

性能

JBoss単体 WebLogic単体 理想値

A B C D E F G

JBoss/WebLogic単体比較– スループットとCPU使用率

測定結果(比較C)

0

10

20

30

40

50

60

70

80

90

100

0 5 10 15 20

負荷(規模)

平均

CP

U使

用率

(%)

JBoss単体 WebLogic単体 WebLogicFatSpinなし

A B C D E F G

単体での性能差を確認単体での性能差を確認

WebLogicが処理限界を迎えていないので、処理能力の差が測れない

JBoss処理限界の負荷Eで、WebLogicのCPU使用率が

33%

Page 17: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

比較D:JBossとWebLogicのクラスタ比較

測定 APサーバHttpSession

レプリケーション比較A 比較B 比較C 比較D

1 JBoss 有り ○○ ○○

2 JBoss 無し ○○ ○○

3 WebLogic 有り ○○ ○○

4 WebLogic 無し ○○ ○○

Page 18: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

測定結果(比較D)

JBoss/WebLogicクラスタ比較

0

5

10

15

20

25

30

35

40

0 5 10 15 20

負荷(規模)

処理

性能

JBoss AP1台 JBoss AP2台 JBoss AP3台JBoss AP4台 WebLogic AP1台 WebLogic AP2台WebLogic AP3台 WebLogic AP4台 理想値

WebLogicはレプリケーションしていても問題無い。処理限界見えず。

HttpSessionレプリケーションにより性能差拡大。JBoss4.0.2以降で改善される予定。

HttpSessionレプリケーションにより性能差拡大。JBoss4.0.2以降で改善される予定。

A B C D E F GJBossとの性能差拡大

Page 19: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

考察

Page 20: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

考察

単体比較結果について– SPECjAppServer2004ではJBossとWebLogicの性能差を確認

クラスタ比較結果について– JBossクラスタはスケールアウトしないため、比較にならず

JBossクラスタ(HttpSessionレプリケーション)が遅い理由– 設定するだけで遅い→仕組み上、遅い– レプリケーションの粒度が大きい

• JBoss4.0.0ではHttpSession全体でしかレプリケーションできない• 変更のあった属性のみレプリケーションする設定(ATTRIBUTE)が動作しな

い(バグ)– CPUを使い切れていない→レプリケーション時に同期ポイントが存在?

HttpSessionレプリケーションについては、現時点では使わない方が無難

JBossの適用領域は?– 高い性能が求められないシステム– 信頼性については、APの作りこみでカバーできるシステム

Page 21: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

TIPS紹介

Page 22: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

TIPS紹介

SPECjAppServer2004ノウハウ

設定上の注意点• Driver側の設定(ヒープメモリサイズ設定、EJBのロードバランシング)

• アプリケーション又はアプリケーションサーバの設定(SequenceEntのrow-locking、XA処理の必要性、例外対応)

• 動作させる上での注意点(REPEATABLE_READの解釈)

測定上の注意点• レポートのFAILEDについて

• 「Error vehicle already sold」について

• Response Timeの90%Tileが10秒になる

• Dealer.detailの情報が欠落する

• 検証で得られたノウハウをドキュメントに付録として提供

• 本セッションでは3つ紹介

WebLogicノウハウ

設定上の注意点

• 実行スレッドキューの分割

PostgreSQLノウハウ

チューニングノウハウ• データ投入直後のreindex、analyze、vacuum full

• index付与によるチューニング

JBossノウハウ

設定上の注意点• JBoss4.0.0バグ情報(PreparedStatementCache、JvmRouteFilter)• 設定(レプリケーションのタイムアウト、UDPエラー対応)

チューニングノウハウ• ear-deployer.xml(IsolatedとCallByValueの設定)• JBossの不要サービス停止

• Apache mod_jk2(Apache MPMをworkerに)

HttpSessionレプリケーションについて

• ノウハウ(仕組み、バージョン、範囲)

• バグ情報(ATTRIBUTE)

Entity Beanについて

• JBoss4.0.0の機能(分散ロック、キャッシュ)• SPECjAppServer2004向けの設定(CMP設定)

測定上の注意点• 高負荷時の例外(ClassCircularityError、InstanceAlreadyExistException)• HttpSessionレプリケーション時のConcurrentModificationException• 60秒おきのFullGC その他

測定上の注意点• sarのバージョンによる情報の欠落

Page 23: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

TIPS ①

Apache MPMをworkerに– Apache MPMがpreforkの場合、mod_jk2による振り分けが偏る

• 常にAPサーバ1→2→3→4の順でCPU使用率が高い状態

– workerに変更することにより、バラつきはあるものの偏りは改善

010

2030

4050

6070

8090

100

AP1 AP2 AP3 AP4 AP1 AP2 AP3 AP4

prefork worker

MPM設定とAPサーバ

平均

CPU

使用

率[%

]

•mod_jk2ではどのAPサーバに割り振るかをプロセス単位で管理•プロセスが多数起動するpreforkでは、管理がバラバラになり偏りが生じる

•mod_jk2ではどのAPサーバに割り振るかをプロセス単位で管理•プロセスが多数起動するpreforkでは、管理がバラバラになり偏りが生じる

Page 24: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

TIPS ② 1/2

HttpSessionレプリケーションのreplication-granularity– JBoss4.0.0では、バグによりATTRIBUTEの設定が動作しない

• 高負荷時にJBossCache(TreeCache)で二重コミットが発生する問題

• 不正なメソッド呼び出しの問題

• トランザクションがPREPAREフェーズで既にアクティブな問題

– 上記バグについてJBoss Forlumやjiraにおいて開発者にバグを

報告

• 4.0.2では修正される予定

– CVSの最新版を元に性能がどの程度変わるかを確認

• 動作させてみたところ、同期部分で例外が発生

• 若干修正を入れ、AP2台で測定(結果は次ページ)

Page 25: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

TIPS ② 2/2

SESSIONとATTRIBUTEの比較

0

5

10

15

20

25

30

35

40

0 5 10 15 20

負荷(規模)

処理

性能

SESSION AP2台 ATTRIBUTE AP2台 理想値

A B C D E F G

0

10

20

30

40

50

60

70

80

90

100

0 5 10 15 20

負荷(規模)

CPU

使用

率(%

)

SESSION AP2台 ATTRIBUTE AP2台

A B C D E F G

処理能力向上!•負荷Fまで性能が出るようになった•JBoss1台よりも性能が出る

低負荷時、CPU使用率が改善された

高負荷時、使いきれるようになった!

かなりまともな状態になっている。期待!かなりまともな状態になっている。期待!

Page 26: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

TIPS ③

index付与によるチューニング– SPECjAppServer2004では、DBスキーマに対し十分なチューニン

グがされておらず、DBサーバがボトルネックに

– indexを付与する事により(付け忘れ?)、DBサーバの性能が大幅に改善され、DBサーバボトルネックが解消された

ossf=# explain analyze SELECT ci_id FROM c_customerinventory WHERE (ci_customerid=47862); QUERY PLAN-------------------------------------------------------------------------------------------------------Seq Scan on c_customerinventory (cost=0.00..25646.80 rows=7 width=4) (actual time=198.758..613.254 rows=5 loops=1)Filter: (ci_customerid = 47862)

Total runtime: 613.313 ms(3 rows)

CREATE INDEX C_ci_customerid_idx ON C_customerinventory (ci_customerid);

シーケンシャルスキャンしている

遅い!

ossf=# explain analyze SELECT ci_id FROM c_customerinventory WHERE (ci_customerid=47862); QUERY PLAN-------------------------------------------------------------------------------------------------------

Index Scan using c_ci_customerid_idx on c_customerinventory (cost=0.00..3.08 rows=7 width=4) (actual time=0.021..0.029 rows=5 loops=1)

Index Cond: (ci_customerid = 47862)Total runtime: 0.065 ms

(3 rows) インデックスを使用している

早い!

ossf=# ¥d c_customerinventoryTable "public.c_customerinventory"Column | Type | Modifiers

---------------+---------------+-----------ci_id | integer | not nullci_itemid | character(20) |ci_quantity | integer |ci_customerid | integer |ci_value | numeric(12,2) |Indexes:

"c_ci_idx" unique, btree (ci_id)

インデックスが無い!

Page 27: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

まとめ

Page 28: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

まとめ

今年度のまとめ– SPECjAppServer2004による評価手順を確立した

• 評価手順並びに設定ファイル群を一般公開

– http://www.ipa.go.jp/software/open/forum/(日本OSS推進フォーラム)

– 商用APサーバと比較し、適用領域を明確化した

今後の課題– JBossの継続的な評価の実施

• JBoss 4.0.1, 4.0.2, ... で性能・信頼性の向上を期待

– より容易なベンチマーク測定を可能にしたい• SPECjAppServer2004は環境構築が大変(合計78ページ)• SPECjAppServer2004は結果の公開に制限

Page 29: SPECjAppServer2004によるJBossの性能・信頼性評価 -商用 ...ossforum.jp/jossfiles/WEB-NTTD-OSSC2005.pdfJBossクラスタ(HttpSessionレプリケーション有り/無し)

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

ご清聴ありがとうございました。