ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング
11gリリース1 (10.3.6)
B61002-06
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

この章では、メッセージング・ブリッジのパフォーマンスを向上させる様々な方法について説明します。

ベスト・プラクティス

バッチ・サイズの変更

「非同期モードの有効化」属性をfalseに設定し、サービス品質が、「必ず1回」の場合、「バッチ・サイズ」を使用して、トランザクション(バッチ)当たりのメッセージ数を増やして、コミットされるトランザクション数を減らすできます。ブリッジ・インスタンスの最適なバッチ・サイズは、使用するJMSプロバイダ、ハードウェア、オペレーティング・システムおよびアプリケーション環境にあるその他の要因の組合せによって異なります。Oracle WebLogic Server管理コンソール・ヘルプトランザクション・プロパティの構成に関する項を参照してください。

バッチ間隔の変更

「非同期モードの有効化」属性をfalseに設定して、サービス品質が、「必ず1回」の場合、BatchInterval属性を使用して、ブリッジがバッチ・メッセージを転送する前にバッチの入力を待機するまでの時間を調整できます。ブリッジ・インスタンスに最適なバッチ間隔は、使用するJMSプロバイダ、ハードウェア、オペレーティング・システムおよびアプリケーション環境にあるその他の要因の組合せによって異なります。たとえば、キューがビジーでない場合、バッチがいっぱいになるまで待機するために、ブリッジが頻繁にメッセージの転送を停止します。この場合、BatchInterval属性の値を小さくする必要があります。Oracle WebLogic Server管理コンソール・ヘルプトランザクション・プロパティの構成に関する項を参照してください。

サービス品質の変更

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

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

可能なかぎり最高のパフォーマンスを得るために、このパラメータを試みる必要があります。たとえば、キューがビジーでない場合または非永続メッセージを使用した場合、「必ず1回」の一括処理は、ほとんど利点がありません。Oracle WebLogic Server管理コンソール・ヘルプメッセージング・ブリッジ・インスタンスの構成に関する項を参照してください。

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

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

同じ宛先を使用してブリッジの複数のインスタンスをデプロイできます。デプロイ後は、ブリッジの各インスタンスが並行して実行されるので、スループットが向上される可能性があります。複数のブリッジ・インスタンスを使用すると、元の宛先と同じ順番でメッセージは転送されません。Oracle WebLogic Server管理コンソール・ヘルプメッセージング・ブリッジ・インスタンスの作成に関する項を参照してください。

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

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

ブリッジを構成する際の一般的なルールでは、サーバー・インスタンスに割り当てられた各ブリッジ・インスタンスに1つのスレッドを用意します。お使いの環境で適切な数のスレッドを利用できるようにするには、次のいずれかを行います。

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

ブリッジのトピックでのリスニング中に、ブリッジによってメッセージの転送が行われていないときに、メッセージを失っても構わない場合、「恒久性の有効化」フラグを無効にして、転送されていないメッセージがサーバーのストアに収集されないことを確認します。フラグを無効にすると、メッセージが非永続メッセージになります。Oracle WebLogic Server管理コンソール・ヘルプメッセージング・ブリッジ・インスタンスの構成に関する項を参照してください。

ソースまたはターゲット宛先とブリッジの同じ場所への配置

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

「非同期モードを有効化」属性の変更

「非同期モードの有効化」属性は、メッセージング・ブリッジがhttp://docs.oracle.com/javaee/5/api/javax/jms/MessageListener.htmlJMS MessageListenerインタフェースを使用して非同期でメッセージを受信するかまたは同期のJMS APIを使用してメッセージを受信するかを決定します。多くの場合は、「非同期モードの有効化」属性の値は、表16-1で示されているように、アプリケーション環境に必要なQOSによって異なります。

表16-1 各QOSレベルにおける「非同期モードの有効化」属性の値

QOS 「非同期モードを有効化」属性の値

必ず1回脚注 1 

false

1回以上

true

最大1回

true


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

Oracle WebLogic Server管理コンソール・ヘルプメッセージング・ブリッジ・インスタンスの構成に関する項を参照してください。

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