プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverのパフォーマンスのチューニング
12c (12.2.1.2.0)
E82880-02
目次へ移動
目次

前
次

14 WebLogic JMSストア・アンド・フォワードのチューニング

WebLogic JMSでは、ローカル・サーバーのインスタンスからリモートJMS宛先への高パフォーマンス・メッセージ転送のためにストア・アンド・フォワード(SAF)の高度な機能が用意されています。この章で説明する推奨事項に従って、SAFアプリケーションのパフォーマンスを最適化します。

この章には次の項が含まれます:

SAFの詳細は、『Oracle WebLogic Serverストア・アンド・フォワード・サービスの管理』のストア・アンド・フォワード・サービスの理解に関する項を参照してください。

JMS SAFのベスト・プラクティス

  • リモートの宛先の可用性があらかじめ高い場合、SAFの使用は避けます。JMSクライアントからリモートの宛先に対して直接的に配信できます。SAFは、信頼性に欠けるネットワークや様々なメンテナンス・スケジュールがあるなど、リモートの宛先の可用性が高くない状況で使用します。

  • リモートの宛先にメッセージを転送する場合、メッセージング・ブリッジではなく、パフォーマンスの優れたJMS SAF機能を使用します。一般に、JMS SAFエージェントはメッセージング・ブリッジに比べてかなり高速です。ただし、非永続的かつ「必ず1回」のモードでメッセージを送信する構成の場合は除きます。

    注意:

    外部宛先やWebLogic 9.0よりも前のリリースの宛先にメッセージを格納および転送(ストア・アンド・フォワード)するためには、現在もメッセージング・ブリッジが必要です。

  • 管理とチューニングを簡略化するため、JMS SAFとWeb Services Reliable Messaging (WS-RM)エージェントには別個のSAFエージェントを構成します。

  • 永続性が必要なサブシステムでは、サブシステム間で同じWebLogicストアを共有するとパフォーマンスが向上します。たとえば、SAFおよびJMS操作を含むトランザクション、複数のSAF宛先を含むトランザクション、SAFおよびEJBを含むトランザクションなどがこれに当たります。「WebLogic永続ストアのチューニング」を参照してください。

JMS SAFのチューニングのヒント

  • 利用可能なSAFエージェント間でメッセージ送信をロード・バランシングするには、インポート済宛先を複数のSAFエージェントにターゲット指定します。

  • SAF宛先ごとに個別のリモートSAFコンテキストを使用してパフォーマンスの改善を図ることを検討します。同じリモートSAFコンテキストを使用するSAF宛先は、通常、単一でスレッド化されます。

  • 小さなメッセージを処理するアプリケーションでは、JMS SAFの「ウィンドウ・サイズ」を増加します。デフォルトでは、JMS SAFエージェントはメッセージを10個まで含められるバッチにまとめて転送します。メッセージのサイズが小さい場合、転送する各バッチ内のメッセージ数を増やすことでパフォーマンスが2 - 3倍になることがあります。小さなメッセージでは「ウィンドウ・サイズ」の初期値を100とするとより適切です。この値は、後で環境に合わせて最適化できます。

    大きなサイズのメッセージを処理するアプリケーションで「ウィンドウ・サイズ」を変更しても、パフォーマンスが向上する可能性が低いので、お薦めしません。「ウィンドウ・サイズ」ではWS-RM SAFの動作もチューニングされるので、「両方」タイプのSAFエージェントでこのパラメータをチューニングするのは適切ではありません。

    注意:

    分散キューの場合、WindowSizeは無視され、バッチ・サイズは内部で1つのメッセージに設定されます。

  • JMS SAFの「ウィンドウ間隔」を増やします。デフォルトでは、JMS SAFエージェントの「ウィンドウ間隔」の値は0で、メッセージは到着するとすぐに転送されます。この設定では、効果的な「ウィンドウ・サイズ」が構成された値よりかなり小さくなることがあるため、パフォーマンスが低下する場合があります。「ウィンドウ間隔」の初期値としてより適切な値は500ミリ秒です。この値は、後で環境に合わせて最適化できます。ここで言う小さなメッセージとは数Kよりも小さなものを指します。大きなメッセージとはおよそ10Kのものを指しています。

    「ウィンドウ間隔」の変更では、フォワーダがすでにメッセージを到着と同じ速度で転送できている場合にのみパフォーマンスが向上します。この場合、フォワーダは新しく届いたメッセージをすぐに転送するのではなく、休止してより多くのメッセージを蓄積してからバッチとして転送します。結果としてバッチ・サイズが大きくなるため、転送スループットが向上して全体的なシステム・ディスクおよびCPUの使用率が低減されますが、待機時間は増大します。

    注意:

    分散キューの場合、「ウィンドウ間隔」は無視されます。

  • アプリケーションが重複メッセージに対応できる場合、インポート済宛先の「非永続QOS」の値を「1回以上」に設定します。