WebLogic Server パフォーマンス チューニング ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

WebLogic メッセージング ブリッジのチューニング

以下の節では、メッセージング ブリッジのパフォーマンスを向上させるためのさまざまな方法について説明します。

 


ベスト プラクティス

 


バッチ サイズの変更

[非同期モードを有効化] 属性が false に設定されていて、サービス品質が [必ず 1 回] の場合、BatchSize 属性を使用してトランザクション (バッチ) ごとのメッセージ数を増やすことで、トランザクションのコミット数を減らすことができます。ブリッジ インスタンスにとって最適なバッチ サイズは、使用している JMS プロバイダ、ハードウェア、オペレーティング システム、およびそのアプリケーション環境における他の要素の組み合わせで決まります。Administration Console オンライン ヘルプの「トランザクション プロパティのコンフィグレーション」を参照してください。

 


バッチ間隔の変更

[非同期モードを有効化] 属性が false に設定されていて、サービス品質が [必ず 1 回] の場合、BatchInterval 属性を使用して、バッチされたメッセージを転送する前にブリッジで各バッチがいっぱいになるまで待機する時間を調整できます。ブリッジ インスタンスにとって最適なバッチ間隔は、使用している JMS プロバイダ、ハードウェア、オペレーティング システム、およびそのアプリケーション環境における他の要素の組み合わせで決まります。たとえば、キューがそれほどビジーな状態でない場合、ブリッジで頻繁に転送を停止してバッチがいっぱいになるまで待機するには BatchInterval 属性の値を減らす必要があります。Administration Console オンライン ヘルプの「トランザクション プロパティのコンフィグレーション」を参照してください。

 


サービス品質の変更

サービス品質を [必ず 1 回] に設定すると、[最大 1 回] や [重複可] に設定した場合に比べ、パフォーマンスが大幅に向上したり低下したりすることがあります。

[必ず 1 回] のサービス品質を使用している場合、確実にトランザクション セマンティクスを実現するため、ブリッジでは必ず両方の JMS サーバで 2 フェーズ コミットを行います。この操作には、非常にコストがかかることがあります。ただし、[必ず 1 回] を使用していると、他のサービス品質と違ってブリッジで複数の操作をバッチとしてまとめられます。

最大限のパフォーマンスを実現するためには、このパラメータについて検討が必要な場合があります。たとえば、キューがそれほどビジーな状態ではない、または非永続メッセージを使用している場合には、[必ず 1 回] によるバッチ処理からほとんどメリットが得られないこともあります。Administration Console オンライン ヘルプの「メッセージング ブリッジ インスタンスのコンフィグレーション」を参照してください。

 


複数のブリッジ インスタンスの使用

メッセージの順序を指定する必要がない場合、複数のブリッジをデプロイすることを検討できます。

同じ送り先を使用するブリッジ インスタンスを複数デプロイできます。このように設定すると、ブリッジの各インスタンスが並行して実行されて、メッセージのスループットが向上する場合があります。複数のブリッジ インスタンスを使用する場合、メッセージはソース送り先にあったときの順番どおりには転送されません。Administration Console オンライン ヘルプの「メッセージング ブリッジ インスタンスの作成」を参照してください。

複数のブリッジを使用するかどうかを判断する際には、以下の要素を検討します。

 


スレッド プール サイズの変更

ブリッジをコンフィグレーションする際の一般的なルールとしては、サーバ インスタンスに割り当てられた各ブリッジ インスタンスに 1 つのスレッドを用意します。お使いの環境で適切な数のスレッドを利用できるようにするには、以下の方法のいずれかを行います。

 


恒久サブスクリプションの無効化

ブリッジのリスン対象がトピックで、メッセージの転送が行われていないときにメッセージが失われても構わない場合、DurabilityEnabled フラグを無効にして、送信できなかったメッセージがソース サーバのストアに蓄積されないようにできます。このフラグを無効にすると、メッセージは非永続になります。Administration Console オンライン ヘルプの「メッセージング ブリッジ インスタンスのコンフィグレーション」を参照してください。

 


ソースおよび対象送り先とブリッジの同じ場所への配置

メッセージング ブリッジのソース送り先または対象送り先が WebLogic 送り先の場合、ブリッジをその送り先と同じ WebLogic Server にデプロイします。メッセージング ブリッジをその送り先の 1 つに割り当てると、関連するネットワークおよびシリアライゼーションのオーバーへッドが削減されます。このようなオーバーヘッドは高スループットのアプリケーションで、特にメッセージが非永続の場合に増大することがあります。

 


[非同期モードを有効化] 属性の変更

[非同期モードを有効化] 属性では、メッセージング ブリッジで JMS MessageListener インタフェースを使用して非同期にメッセージを受信するか、同期 JMS API を使用してメッセージを受信するかを指定します。ほとんどの場合、表 15-1 に示すように、[非同期モードを有効化] 属性の値はアプリケーション環境に必要な QOS によって決まります。

表 15-1 QOS レベルと対応する [非同期モードを有効化] 属性の値
QOS
[非同期モードを有効化] 属性の値
false
true
true

1 ソース送り先が WebLogic JMS プロバイダ以外で QOS が [必ず 1 回] の場合、[非同期モードを有効化] 属性は無効になり、メッセージは同期モードで処理される。

Administration Console オンライン ヘルプの「メッセージング ブリッジ インスタンスのコンフィグレーション」を参照してください。

[必ず 1 回] のサービス品質が指定されていると、ブリッジのパフォーマンスに大きく影響します。ブリッジによりメッセージごとに新しいトランザクションが開始され、そのトランザクションに関与する両方の JMS サーバに渡って 2 フェーズ コミットが実施されます。2 フェーズ コミットは通常、ブリッジのトランザクションでもっともコストのかかる部分です。処理されるメッセージ数が増加するとブリッジのパフォーマンスは低下する傾向があります。


  ページの先頭       前  次