ヘッダーをスキップ
Oracle® Fusion Middlewareパフォーマンスおよびチューニング・ガイド
11g リリース1 (11.1.1)
B61006-10
  目次へ移動
目次

前
 
次
 

15 Oracle Mediatorのパフォーマンス・チューニング

この章では、Oracle Mediatorをチューニングして最適なパフォーマンスを得る方法について説明します。内容は次のとおりです。

15.1 Oracle Mediatorについて

Mediatorは、Oracle SOAのコンポーネントです。選択的ルーティング、トランスフォーメーション、検証などの仲介機能を備え、同期、非同期、イベントのパブリッシュ、イベントのサブスクリプションといった様々なメッセージ交換パターンに対応しています。Oracle Mediatorは、サービスおよびイベントの各種プロバイダとコンシューマを仲介するフレームワークを提供します。メディエータ・サービス・エンジンは、SOAサービス・インフラストラクチャのJava EEアプリケーションと連携して動作します。


関連項目:

SOA Suiteの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

Oracle Mediatorの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者』の「Oracle Mediatorのサービス・コンポーネントとエンジンの管理」を参照してください。


15.2 チューニングに関する基本的な考慮事項

ほとんどのビジネス環境では、顧客データは、取引先、レガシー・アプリケーション、エンタープライズ・アプリケーション、データベース、カスタム・アプリケーションなど、様々なソースに点在しています。こうしたデータを効率的に統合するという課題は、Oracle Mediatorを使用することで解決できます。Oracle Mediatorは、同じデータの更新やその他の処理を共通して行うすべてのアプリケーションに対して、リアルタイムのデータ・アクセスを実現します。


注意:

Oracle Mediatorプロパティのチューニングを始める前に、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle Mediatorに関する章を必ず読み、内容を理解しておいてください。


この項では、よく使用される次のOracle Mediatorプロパティの設定について詳しく説明します。

15.2.1 metricsLevelのチューニング

このプロパティは、DMSメトリックの追跡レベルを制御します。デフォルトでは、DMSメトリックの収集は有効になっています。DMSメトリック・データを収集する必要がない場合は、metricsLevelをDisabledに設定してパフォーマンスを改善することを検討してください。

15.2.2 ドメイン値マップの使用

パフォーマンスが問題になっている場合は、XSLトランスフォーメーション内でデータベース参照のかわりにドメイン値マップを使用し、ファイルI/Oを最小限に抑えることを検討してください。

ドメイン値マップの使用の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のドメイン値マップの使用に関する項を参照してください。

15.2.3 遅延ルーティング・ルールのデプロイ

次のパフォーマンス構成パラメータは、パラレル・ルーティング・ルールを指定したコンポーネントのチューニングに使用できます。

  • DeferredWorkerThreadCount: メッセージをパラレルに処理する遅延ディスパッチャの数を指定します。負荷が高い場合は、このパラメータの値を大きくして、DeferredWorkerThreadsの1つによって各パラレル・ルールが処理されるときに遅延処理を行うアウトバウンド・スレッドの数を増やすことを検討してください。デフォルト値は4スレッドです。

  • DeferredMaxRowsRetrieved: メディエータ・ルーティング・ルールのタイプが「パラレル」に設定されている場合、DeferredMaxRowsRetrievedには、メディエータ・ストア表(処理の対象となるパラレル・ルーティング・ルールのメッセージが格納される)から取得する最大行数(パラレル・ルーティング・ルールを処理するための最大メッセージ数)を設定します。このバッチで取得される各メッセージは、一度に1つのワーカー・スレッドによって処理されることに注意してください。デフォルト値は200行です。

  • DeferredLockerThreadSleep: パラレル・ルーティング・ルールを処理するため、Oracle Mediatorには、メディエータ・ストア・データベースからメッセージを取得してロックするデーモン・ロッカー・スレッドが用意されています。このスレッドは、データベースに対してポーリングを行い、パラレル処理のメッセージを取得します。メッセージがない場合、ロッカー・スレッドはDeferredLockerThreadSleepに指定された時間だけスリープし、データベースへのラウンドトリップを防止します。デフォルト値は2秒です。パフォーマンスを改善するには、この値を大きくすることを検討してください。一部のユースケース・シナリオでは、3600秒(60分)の「スリープ」を利用できます。

    指定した時間の間は、次のいずれの場合もパラレル・ルーティングのメッセージを取得できません。

    • パラレル・ルーティング・ルールを指定したMediatorコンポーネントがデプロイされていない場合。

    • パラレル・ルーティング・ルールを指定したMediatorコンポーネントがデプロイされているが、それらのコンポーネントに対して連続的な受信メッセージが存在しない場合。


    注意:

    Oracle Mediatorコンポーネントの優先度をJDeveloper Mediatorデザイナで指定できます。このプロパティを使用して、パラレル・ルーティング・ルールを指定した複数のOracle Mediatorコンポーネント間の優先度を設定します。

    詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のメディエータ・ルーティング・ルールの作成に関する項を参照してください。


15.2.4 エラー・パラメータおよび再試行パラメータのチューニング

データベースへのラウンドトリップの回数を減らさないためには、ErrorLockerThreadSleepパラメータの値を大きくすることを検討してください。

ErrorLockerThreadSleepパラメータは、パラレル処理でエラーになったメッセージがない場合に、エラーになったメッセージを次に取得するまでのアイドル時間を指定します。時間の単位は秒です。デフォルト値は5秒です。パフォーマンスを改善するには、この値を大きくすることを検討してください。一部のユースケース・シナリオでは、3600秒(60分)のアイドル時間を利用できます。

ルーティングの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のメディエータ・ルーティング・ルールの作成に関する項を参照してください。

15.2.5 監査レベルの設定

auditLevelプロパティには、監査証跡のロギング・レベルを設定します。この構成プロパティは、すべてのメディエータ・コンポーネントに適用されます。このプロパティが制御するのは、メディエータ・コンポーネントによってログに記録される監査イベントの量です。監査イベントを記録すると、audit_trail表へのデータベース挿入が増えるため、パフォーマンスに影響が出ることがあります。監査情報は、Oracle Enterprise Managerコンソールからメディエータ・コンポーネントの状態を確認する目的でのみ使用されます。

監査情報を保存しない場合は、off値を使用します。この値を使用すると、一部のユースケースのパフォーマンスを改善できます。監査レベルは、常にビジネス要件およびユースケースに従って選択してください。監査レベルの設定の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』の監査レベル設定の優先順位の理解に関する項を参照してください。

説明

継承

インフラストラクチャ・レベルから監査レベルを継承します。

オフ

監査イベント(フロー実行情報)は保持されず、ロギングは実行されません。この場合、インスタンス処理のパフォーマンスがわずかに向上する可能性があります。

本番

すべてのイベントがログに記録されます。監査イベントごとにペイロードの詳細は保持されません。

開発

すべての監査イベントがログに記録されます。監査イベントごとにペイロードの詳細も保持されます。


15.2.6 メッセージに対するリシーケンサの使用

リシーケンサは、関連性はあるが順序が正しくないメッセージのストリームを再配置して順序どおりに戻すために使用します。ランダムな順序で到着した受信メッセージを順序付けしてから、ターゲット・サービスに正しい順序で送信します。

リシーケンサの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの管理に関する項を参照してください。

「メディエータ・サービス・エンジン・プロパティ」ページの次のプロパティの値を設定して、再シーケンサを微調整できます。

  • ResequencerWorkerThreadCount: ワーカー・スレッド数を指定します。デフォルトは4です。

  • ResequencerMaxGroupsLocked: 繰返しごとにロックされるグループの最大数を指定します。デフォルトは4です。

  • ResequencerLockerThreadSleep: ロッカー・スレッドの秒単位のスリープ間隔を指定します。デフォルトは10です。

15.3 イベント配信ネットワーク(EDN)のチューニング

イベント配信ネットワーク(EDN)は、Oracle Mediator、Oracle BPEL Process Managerコンポーネント、およびOracle Application Development Frameworkエンティティ・オブジェクトなどの外部パブリッシャによってパブリッシュされたイベントを配信します。

イベント配信ネットワークのパフォーマンスを改善するには、スレッド数(デフォルトは3)を増やすことを検討してください。このプロパティは、WLSTを使用して変更できます。詳細は、第11.3項「SOA構成パラメータの変更」を参照してください。