Javaのメッセージング・サービスを速くするには?WebSphereサーバ・チューニング入門(7)(4/4 ページ)

» 2008年08月07日 00時00分 公開
[上野憲一郎日本アイ・ビー・エム]
前のページへ 1|2|3|4       

MDBの並列度−JMSアクティベーション・スペック

 JMSアクティベーション・スペックの設定で、MDBの並列度の調整(同時稼働MDBインスタンス数の調整)が可能です(デフォルト値:10)。[管理コンソール]→[リソース]→[JMSプロバイダー]→[Default messaging provider]→[アクティベーション・スペック]→「MDB名」→[最大並行エンドポイント数]で指定します(図19)。

図19 JMSアクティベーション・スペック:[最大並行エンドポイント数]の指定 図19 JMSアクティベーション・スペック:[最大並行エンドポイント数]の指定

 「最大並行エンドポイント数」の値は、MDBインスタンスの同時稼働数を制限します。この値を超えた同時リクエストをMDBは受け付けできません。

 「Tivoli Performance Viewer」を利用し、[管理コンソール]→[Performance Modules]→[SIBサービス]→[SIBメッセージング・エンジン]→「メッセージング・エンジン名」→[Destinations]→[Queues]→「キュー名」で、「AvailableMessageCount」をモニターすることにより、キューに対する負荷を把握できます。

 「AvailableMessageCount」の値が大きい場合(queue depthが深い場合)、該当するMDBによるメッセージの処理が追い付いていない可能性があります(JMSクライアントから送られてくるリクエストメッセージをMDBが処理し切れていない)。その場合は、[最大並行エンドポイント数]の値を増加させて、MDBの同時並行稼働インスタンスを増やすことにより、改善が見られる可能性があります(注意:メッセージの順序保障をWASが実施する必要がある場合には(アプリケーションではメッセージ順序の確認や順序変更を行わない場合)、[最大並行エンドポイント数]の値を「1」にする必要があります)。

MDBに対するメッセージ・バッチ処理−JMS(J2C)アクティベーション・スペック

 「最大バッチ・サイズ」(デフォルト値は、「1」)を指定することにより、1つのエンドポイントが同時に受け取るメッセージ数を決定できます(図19)。

 例えば、「最大並行エンドポイント数」が「10」で、「最大バッチ・サイズ」が「3」の場合、最大で「30」メッセージがMDBに渡されます。「Available message count」が大きい場合には、「最大バッチ・サイズ」の値を調整することにより、パフォーマンス向上が期待できます。

MDBの並列度−スレッド・プール・サイズ

 すべてのMDB合計の並列度は、「SIB JMS Resource Adapter」に割り当てられているスレッド・プール(「Default」スレッド・プール)のサイズに制限されます。なお、「Default」スレッド・プールはほかの用途でも使用されます。

 [管理コンソール]→[リソース]→[リソース・アダプター]→[有効範囲]を選択し、さらに、[設定]を拡張し、[組み込みリソースの表示]を選択し、[適用]をクリックすると、「ユーザー設定が変更されました。」というメッセージが表示され、[SIB JMS Resource Adapter]が表示されます(図20)。

図20 SIB JMS Resource Adapter 図20 SIB JMS Resource Adapter

 [SIB JMS Resource Adapter]を選択し、「スレッド・プール別名」を確認します(図21)。

図21 SIB JMS Resrouce Adapterのスレッド・プール別名設定 図21 SIB JMS Resrouce Adapterのスレッド・プール別名設定

 「Default」スレッド・プールの最小値は「5」、最大値は「20」です(図22)。

図22 Defaultスレッド・プールの設定 図22 Defaultスレッド・プールの設定

 独自にスレッド・プールを定義し、それを[SIB JMS Resource Adapter]に割り当てることも可能です。その場合は、そのスレッド・プールはMDB(SIB JMS Resource Adapter)にのみ利用されます。

 [JMS Resource Adapter]で、独自のスレッド・プールを使用する場合には、[スレッド・プール別名]で指定したスレッド・プールを新規作成します。Defaultスレッド・プールは、ほかのコンポートントも使用しているため、独自のスレッド・プールを使用した方が、チューニングに適しています。

JMS関連パフォーマンス・チューニングのまとめ

 今回は、JMS関連のチューニングについて解説を行いました。要点をまとめますと、以下の4項目を検討することになります。

  1. JMSデリバリー・モードとWASメッセージング信頼性レベルの選定
  2. メッセージの永続先(パーシスタント)の選定
  3. データ・バッファ・サイズの調整
  4. 処理並列度の調整

 1および2は、システム要件およびシステム基盤構成に関係するためパフォーマンス性能以外の側面も含めて検討が必要となります。3および4の調整については、システム・リソースとの兼ね合いを見ながら、「Tivoli Performance Viewer」「Service Integration Bus Explorer(SIB Explorer)」(連載第1回参照)を利用して調整を行います。

サーバ・チューニングに必要なポイントはまだまだある

 今回をもちまして、WebSphereサーバ・チューニング入門の連載は終了いたします。

 これまで取り上げた内容としては、「チューニング前にやること」「パフォーマンス解析・チューニングのツール」「WAS高速化のためのポイント」「トランスポート・チャネルのチューニング」「JVMチューニング」「DB連携チューニング」「EJBチューニング」「JMSチューニング」などです。システムごとにチューニングが必要となる個所は異なりますが、連載第3回あるいは第4回までの内容は、ほぼすべてのWebアプリケーション・サイトで共通するチューニング事項といえるでしょう。

 連載第2回で紹介した「WAS高速化のための主要12項目」の中でも、「HTTPSession」「動的キャッシング」については解説できませんでした。「HTTPSession」は、多くのWebアプリケーション・サイトで利用されている技術であり、システム全体の性能に影響を与える可能性が高いので、設計およびチューニングは十分に検討するようにしましょう。「動的キャッシング」は、アプリケーションに依存しますが、利用可能な場合にはパフォーマンス向上が期待できますので、利用を検討する価値はあるでしょう。

 また残念ながら、「セキュリティ」「Webサービス」「XML」といったトピックや、「SIP」「EJB 3.0」「Web 2.0」といった新しい技術についても触れることができませんでした。WASおよびそのベースとなるJVMもリリースを重ねるごとにパフォーマンス性能が向上されており、今後も継続的に機能拡張および性能向上がなされます。

 別の機会があれば、上記のような本連載で触れられなかったチューニング情報や「WAS v7」といった最新リリースに関する情報を提供するようにいたします。約1年半にわたる連載にお付き合いいただき、本当にありがとうございました。

@IT関連記事

Java開発者のためのFAQ集
Java開発者が 最低限押さえておくべきJavaに関する基礎知識、実際のソリューション構築の場面で定石とされるノウハウ、プログラミングTIPSなどのFAQをご紹介していきます
エンタープライズへの適用
JMSの役割を教えてください
Webアプリケーションとホストを連携した事例を教えてください
Webアプリケーションとホストを連携する手法を教えてください
なぜホスト資産とWebシステムを連携させるのですか?

J2EEと外部システムを連携する方法
[連載]Java初心者のためのWebシステム入門(7) J2EEがサポートする接続方法は多様だ。今回はJ2EEと外部のシステムとの連携方法を解説する
Java Solution」フォーラム 2002/7/23

プロフィール

日本アイ・ビー・エム 東京基礎研究所 アドバイザリー・リサーチャー

上野 憲一郎(うえの けんいちろう)
kenueno@jp.ibm.com

日本アイ・ビー・エムに入社後、システム・エンジニアとして10年ほど活動した後、米国IBMへ赴任。米国IBM Raleighソフトウェア開発研究所にて、WebSphere Application Server開発部門のパフォーマンス専門グループのメンバーとして活動。2003年に帰国後、IBM東京基礎研究所にて、XML、Web サービス、SOA関連技術の研究開発に従事。WebSphere Application Serverパフォーマンス専門家として、セミナーなどで講演も実施。

主な著書
WebSphere V3.5 Handbook」(Prentice Hall)

主な訳書
Webサービスプラットフォームアーキテクチャ」(エスアイビーアクセス)


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。