BPELとは、一連の独立したサービスを集めてエンドツーエンドのプロセス・フローを組み立てるための標準です。BPELを使用すれば、プロセス統合の取組みのコストおよび複雑さを大幅に軽減できます。Oracle BPEL Process Managerは、BPELビジネス・プロセスの作成、デプロイおよび管理を目的とした、包括的で使いやすいインフラストラクチャを提供します。
Oracle BPEL Process Managerの概要は、『Oracle SOA Suiteの理解』の主なコンポーネントに関する項にあるOracle Business Process Execution Language (BPEL) Process Managerを参照してください。
ここでは、パフォーマンスの向上に役立つまたは大いに役立つ可能性があるBPELパラメータのチューニングに関する推奨事項について説明します。SOAコンポーネントで使用可能なその他のチューニング・パラメータについては、このマニュアルおよび『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のコンポーネント固有の項を参照してください。
BPELプロセスのサービス・コンポーネントとサービス・エンジンのモニタリング、構成および管理の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のBPELプロセスのサービス・コンポーネントとエンジンの管理に関する項を参照してください。また、BPEL選択アクティビティの使用方法は、Oracle SOA SuiteでのSOAアプリケーションの開発のBPELプロセス・サービス・コンポーネントの使用に関する項を参照してください。
Enterprise Manager Fusion Middleware Controlを使用して、BPELエンジン・レベルでプロパティをチューニングし、パフォーマンスを構成できます。Oracle Enterprise Manager Fusion Middleware Controlを使用したパラメータの構成およびモニタリングの詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のOracle SOA SuiteおよびOracle BPM Suiteの管理のスタート・ガイドおよびコンポーネント・プロパティ・ページからのシステムMBeanブラウザへのアクセスに関する項を参照してください。
表12-1に、BPELエンジンのパフォーマンスを改善するために調整できる重要なチューニング・パラメータを示します。
表12-1 重要なBPELエンジン・チューニング
パラメータ | 問題点 | チューニングに関する推奨事項 | トレードオフ |
---|---|---|---|
デフォルト: |
|
|
このプロパティは、永続プロセスと一時プロセスの両方に対して監査証跡ロギング・レベルを設定します。 これをオフにすると、ビジネス・フローおよびペイロード・トラッキングの両方が無効になります。Oracle Enterprise ManagerコンソールでBPELプロセスの状態を表示できなくなります。 |
表12-2に、チューニングするとパフォーマンスが少し改善されるその他のBPELエンジン・パラメータを示します。ほとんどのユースケースで、デフォルト値は推奨値であることに注意してください。
表12-2 その他のBPELエンジン・チューニング・ノブ
パラメータ | 説明 |
---|---|
デフォルト: |
このパラメータの値を小さくしてパフォーマンスを改善できます。
Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザでこのプロパティを検索する方法の詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発のトランザクション・タイムアウト値の指定方法に関する項を参照してください。 |
デフォルト: |
このパラメータの値を小さくしてパフォーマンスを改善できます。 このプロパティは、BPEL変数の最大サイズ(KB)を設定し、これを超えると、BPEL変数が他のインスタンス・スコープ・データとは異なる表に格納されるようになります。これは、永続プロセスと一時プロセスの両方に適用されます。 インスタンス処理を行う必要が生じるたびに、大きなXMLドキュメントの読込みおよび書出しが絶えず行われる場合は、パフォーマンスが低下することがあります。 Enterprise Manager Fusion Middleware Controlでこのパラメータを検索およびチューニングする方法は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のBPELプロセス・サービス・エンジン・プロパティの構成に関する項を参照してください。 |
デフォルト: |
パフォーマンスを改善するには、このパラメータをデフォルト値の このプロパティによって、Oracle BPEL Process Managerは受信および送信XMLドキュメントを検証することによって、非スキーマ準拠のペイロード・データをインターセプトできるようになります。ただし、XMLペイロード検証はパフォーマンスを低下させる場合があります。 このパラメータはシステムMBeanブラウザで検索できます。Enterprise Manager Fusion Middleware Controlの「BPELサービス・エンジン・プロパティ」ページから「詳細BPEL構成プロパティ...」ボタンを使用して拡張BPELプロパティを検索する方法は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のBPELプロセス・サービス・エンジン・プロパティの構成に関する項を参照してください。 |
デフォルト: |
インスタンス・キー・ブロックのサイズを
Enterprise Manager Fusion Middleware ControlでシステムMBeanブラウザを使用してこのパラメータを検索およびチューニングする方法は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のBPELプロセス・サービス・エンジン・プロパティの構成に関する項を参照してください。 |
監査レベルしきい値 デフォルト: |
このパラメータの値を小さくしてパフォーマンスを改善できます。 このプロパティには、監査証跡詳細文字列の最大サイズ(KB)を設定し、これを超えると、監査証跡詳細文字列が監査証跡とは別に格納されるようになります。しきい値設定より大きな文字列は、 Enterprise Manager Fusion Middleware Controlでこのパラメータを検索およびチューニングする方法は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のBPELプロセス・サービス・エンジン・プロパティの構成に関する項を参照してください。 |
個々のコンポジットに対してBPELプロパティをチューニングし、パフォーマンスを向上できます。コンポジット内に設定されるBPELプロパティは、BPELプロセスを含むコンポーネントの動作にのみ影響を与えます。各BPELプロセスは、コンポジットのコンポーネントとして作成できます。
BPELコンポジット・プロパティは、JDeveloperを使用してcomposite.xml
で変更するか、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザで変更できます。各プロパティの機能の詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発のデプロイメント・ディスクリプタのプロパティを参照してください。
表12-3に示されているBPELのチューニングに関する考慮事項は、すべてのBPELデプロイメントには適用できない場合があります。必ず各自のユースケース・シナリオを検討して、これらの構成をデプロイメントで使用できるかどうかを判断してください。次に示すパラメータの検索および編集方法は、Oracle SOA SuiteでのSOAアプリケーションの開発のプロパティ・インスペクタのデプロイメント・ディスクリプタ・プロパティの定義方法に関する項を参照してください。
表12-3 コンポジット・チューニングでの重要なBPEL
パラメータ | 問題点 | チューニングに関する推奨事項 | トレードオフ |
---|---|---|---|
デフォルト: |
配信メッセージを永続化するためにリソースが使用されているため、パフォーマンスが低下しています。 |
値を デフォルトでは、受信リクエストは配信サービス・データベース表 |
この設定には、メッセージの紛失やシステムの過負荷という高いリスクがあります。これはアダプタのスレッド・モデルも変更します。 |
デフォルト: |
すべてのアクティビティが監査されているため、パフォーマンスが低下しています。 |
主なアクティビティのみを監査します。 |
レベルが低いアクティビティの監査証跡がなくなります。 |
デフォルト: |
|
値を |
デハイドレーションを行わないということは、システムがクラッシュした場合にインスタンス内のアクティビティが失われることを意味します。 |
表12-4に、チューニングするとパフォーマンスが少し改善されるその他のBPELエンジン・パラメータを示しますが、ほとんどの場合にそのデフォルト値は推奨値です。各プロパティの機能の詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発のpartnerLinkBindingデプロイメント・ディスクリプタのプロパティに関する項を参照してください。
表12-4 コンポジット・チューニング・ノブのその他のBPEL
パラメータ | 説明 |
---|---|
デフォルト: |
idempotentアクティビティは、再試行できるアクティビティです。このパラメータの値を このパラメータは、BPELでの実行時にパートナ・リンクに構成されます。 |
デフォルト: |
このパラメータは、BPELでの実行時にパートナ・リンクに構成されます。 |
コンポジットでのBPELのチューニングに示したパラメータをチューニングした後、パフォーマンスをさらに向上させるために次の戦略の使用を検討できます。
インスタンス・データは、Oracle BPEL Process Managerのスキーマ表の領域を占有します。監査やデハイドレーションによってデータが増大すると、データベースのパフォーマンスおよびスループットに大きな影響を与える可能性があります。
表12-5を使用して、インスタンス・データ増大によって影響を受ける可能性がある表を探すことができます。次のデータベース表のパフォーマンスをモニタリングする方法は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』の領域使用量、ハードウェア・リソースおよびデータベース・パフォーマンスのモニタリングに関する項を参照してください。
表12-5 インスタンス・データ増大の影響を受けるOracle BPEL Process Managerの表
表名 | 表の説明 |
---|---|
|
インスタンスの監査証跡を格納します。Oracle BPEL Controlに表示される監査証跡は、XMLドキュメントから作成されます。インスタンスが処理されると、各アクティビティがイベントをXMLとして監査証跡に書き込みます。 |
|
APIを通じてログに記録される監査詳細を格納します。assignアクティビティなどは、デフォルトで、変数を監査詳細としてログに記録します。 監査詳細はサイズが大きいため、 |
|
プロセス・インスタンス・メタデータ(インスタンスの作成日、現在の状態、タイトル、プロセス識別子など)を格納します。 |
|
インスタンスのスコープ・データ(BPELフローで宣言されているすべての変数や、フロー全体のルーティング・ロジックを支援する内部オブジェクトなど)を格納します。 |
|
受信(呼出し)メッセージおよびコールバック・メッセージを受信時に格納します。この表には、メッセージのメタデータ(現在の状態、プロセス識別子、受信日など)のみが格納されます。 |
|
インスタンスの配信サブスクリプションを格納します。receiveアクティビティやonMessageアクティビティのように、インスタンスがパートナからのメッセージを待っているときは必ず、そのreceiveアクティビティに対するサブスクリプションが書き込まれます。 |
|
|
|
|
|
インスタンスに対して作成されたタスクを格納します。TaskManagerプロセスは、この表に現在の状態を保存します。 |
|
インスタンスによって作成されたアクティビティを格納します。BPELフローのすべてのアクティビティに |
|
システム内のすべてのラージ・オブジェクト( |
|
ヘッダーおよびプロパティの情報を格納します。 |
パフォーマンス低下を引き起こしている表を特定したら、それらをパージできます。データベース増大の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』の増大管理の課題の理解および戦略のテストに関する項を参照してください。