19 Oracle Business Process Managementのチューニング

Oracle Business Process Managementをチューニングし、設計時および実装から実行時およびアプリケーション管理まで、アプリケーション開発ライフサイクルの全ステージのシームレスな統合を提供する際のパフォーマンスを最適化できます。

Oracle Business Process Managementについて

Oracle Business Process Management Suiteは、ビジネス・プロセスを中心にしたビジネス・アプリケーションを開発、管理および使用するための統合環境を提供します。

Oracle Business Process Managementは、Oracle SOA Suite上に存在し、統合の実現にBusiness Rules、Human WorkflowおよびOracle Adapter Frameworkを含む多くの同じ製品コンポーネントを共有します。

『Oracle Fusion Middleware Oracle Business Process Managementユーザーズ・ガイド』を参照してください。

他のOracle Fusion Middlewareコンポーネントを使用したOracle Business Process Managementのチューニングの詳細は、を参照してください。

Business Process Managementのパラメータのチューニング

Enterprise ManagerのBPMパフォーマンス・パラメータは、BPMNプロパティのSOA管理を介してチューニングできます。

Oracle Business Process Managementエンジンのパフォーマンスをチューニングするために、リソースの需要を減らして待機時間を減らすことができます。

リソースの需要を減らすには、表19-1に示すパラメータをチューニングできます。

表19-1 リソースの需要を減らすために重要なBusiness Process Managementのチューニング

パラメータ 問題点 チューニングに関する推奨事項 トレードオフ

largedocumentthreshold

デフォルト: 10000 (100KB)

大きいBPMNデータ・オブジェクトを格納しているため、インスタンスの処理が遅くなっています。

このパラメータの最大サイズ(KB)を小さくして、BPMNデータ・オブジェクトのサイズを制限します。この制限を超過すると、他のインスタンス・スコープ・データとは別の場所にデータが格納されます。

このプロパティは、永続プロセスと一時プロセスの両方に適用されます。

オーバーフロー・データは、外部の追加専用表に格納されます。これによって、データベース全体のサイズが増加し、データベースからのインスタンスのロード時にワークロード全体が増える場合があります。

auditLevel

デフォルト: インフラストラクチャからのInherit

audit_trail表へのデータベース挿入が頻繁に発生しています。これらはプロセスによってログに記録されている監査イベントによって引き起こされています。

監査を減らすか無効にします。次のいずれかの設定に切り替えることができます。

  • Offは、イベントまたは監査イベントのログ記録を行いません

  • Minimalは、イベントのみをログに記録します。

  • Errorは、重大な問題のみをログに記録します

AuditKeyExtentsのサイズを拡張することも検討できます。

後で問題の診断に使用できる詳細なエラー・レポートがなくなります。監査レベルは、常にビジネス要件およびユースケースに従って選択してください。

モニタリングのために監査証跡を使用する方法の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』BPMNプロセス・サービス・コンポーネントおよびエンジンのモニタリングに関する項を参照してください。

完了したインスタンスをビジネス要件で許可されたとおりにパージして、フレックス・フィールドの索引追加を試行することもできます。

その他のチューニング戦略の使用

次の戦略を使用すると、さらにパフォーマンス向上を図ることができます。

Oracleワークスペース・アプリケーションのチューニング

データベース・パフォーマンスおよびセッション状態の管理は、パフォーマンスを改善する主要要因です。効率的なデータベース・チューニングおよびHTTPセッション・タイムアウトの構成が重要です。

アプリケーション設計は次に重要な要因であり、タスク・フォーム上のコンテキスト・データをレンダリングするために使用される追加のデータ・コントロールがある場合は特に重要です。そのような場合、それらのデータ・コントロールからのデータ・アクセスを最適化し、可能な場合は、追加データが必要でないかぎり、その取得を延期することが重要です。ADFのチューニングの詳細は、Oracle ADF Facesの構成およびプロファイリングを参照してください。

次のパラメータは、OracleBPMWorkspace Webアプリケーションのweb.xmlディスクリプタで変更できます。変更したら、再デプロイする必要があります。

表19-2 ワークスペースおよびワークリスト・アプリケーションのチューニング

パラメータ 問題点 チューニングに関する推奨事項 トレードオフ

HTTPセッション・タイムアウト

デフォルト: 15

システムをアクティブに使用していない可能性があるユーザーに対して、メモリーが割り当てられています。

リソース使用量の管理を改善するために、セッション・タイムアウト値(分)を小さくして、予想されるユーザー体験を保持する最小の値にします。これによってシステムは、未使用セッションに関連付けられているリソースをすぐに解放できます。

このパラメータは、web.xmlファイルで編集されます。次に示すのは、web.xmlファイルのサンプル・スニペットです。

<session-config>
    <session-timeout>
       5
    </session-timeout>
</session-config>

タイムアウト値が小さいとき、時間切れになる場合はユーザーが頻繁にログインする必要があることを意味します。セッション・データが失われる可能性もあります。

ADFクライアント状態トークン

デフォルト: 15

デフォルト値では、メモリーを消費しすぎる場合があります。

メモリー・フットプリントを最小化するために値を3に減らします。

この設定では、ユーザーが情報を失わずにブラウザの「戻る」ボタンで移動可能なページの数を制御できます。CPUおよびメモリーの使用率を下げるには、web.xmlファイルで値を小さくします。

次に示すのは、web.xmlファイルのサンプル・スニペットです。

<context-param>
   <param-name>       
org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS
   </param-name>
   <param-value>
      3
   </param-value>
</context-param>

ユーザーが「戻る」ボタンを3回以上クリックした場合、そのページのセッション・データは格納されません。

値が小さすぎる場合、ユーザーが「戻る」ボタンを使用するとエラーが表示されます。

Compress_View_Stateトークン

デフォルト: True

待機時間が遅いまたは大きいネットワークのパフォーマンスが低下しています。

この値をTrueに設定して圧縮を有効にします。デフォルトでは、この値はTrueに設定されています。

この設定は、ページ状態を圧縮するかどうかを制御します。圧縮により、セッション・オブジェクトのページ状態で使用されるメモリーを大幅に削減します。

次に示すのは、web.xmlファイルのスニペットです。

<param-name>org.apache.myfaces.trinidad.COMPRESS_VIEW_STATE</param-name>
 <param-value>true</param-value>

表示状態の圧縮および解凍に追加のCPUコストがかかります。

DISABLE_CONTENT_COMPRESSION

デフォルト: False

ページの初期ロードが遅くなっています。

本番環境では、必ずDISABLE_CONTENT_COMPRESSIONパラメータをweb.xmlファイルから削除するか、FALSEに設定してください。デフォルトでは、レンダリングされたスタイル・クラスは、ページ・サイズを小さくするために圧縮されます。

次に示すのは、web.xmlファイルのスニペットです。

<param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION</param-name>
 <param-value>false</param-value>

なし。

プロセス測定のチューニング

Process Analyticsは測定イベントを使用して、プロセスをサンプリングし、登録されたコンシューマに測定を公開します。19c (19.1.0.0.0)では、これらの測定は、BPM Enterprise Managerの分析構成MBeanでDisableAnalyticsパラメータをFalseに設定することによって有効にできます。

12cでサポートされている測定の2つのコンシューマは、BAM 11gのMonitor ExpressおよびBAM 12cのProcess Metricsです。それらは、AnalyticsConfig MBeanのDisableProcessMetricsおよびDisableMonitorExpress属性を使用して有効または無効にすることができます。

ノート:

有益なデータのみが公開されます。プロセス設計では、どのデータ(ディメンション、メジャー、カウンタ)をどの時点で公開するかを指定します。有益でないデータが生成される場合、不要な負荷がシステムに加わっている可能性があります。

測定イベントは、JMSトピックのMeasurementTopicで公開され、登録されたアクションMDBで消費されます。測定のためにJMSをチューニングするには、大規模な環境で必要に応じて表19-3に示されたパラメータを変更することを検討してください。

表19-3 BPMの重要なJMSリソース・チューニング

JMSリソース 問題点 チューニングに関する推奨事項 トレードオフ

dist_MeasurementTopic_auto

デフォルト: Forwarding Policy Replicated

クラスタ・インストール内の分散測定トピックは、デフォルトのFORWARDING POLICY REPLICATEDによって構成されていますが、これはBPM分析の最善のパフォーマンス・オプションではありません。

このパラメータの転送ポリシーPARTITIONEDに変更します。

このパラメータはWebLogicコンソールで変更できます。次のオプション: 「JMSモジュール」「BPMJMSModule」「dist_MeasurementTopic_auto」のフロント・ページからこれを検索できます。変更を有効にするには、すべてのSOA BPMクラスタ・ノードを再起動する必要があります。

Partitionedポリシーの分散トピックは、一般的にFORWARDING POLICY REPLICATEDよりもパフォーマンスが優れています。

分散トピックと他のトピック・タイプの詳細は、『Oracle WebLogic ServerメッセージドリブンBeanの開発』サポートされるトピック・タイプに関する項を参照してください。

パーティション化およびレプリケート転送ポリシーの詳細は、『Oracle WebLogic Server JMSリソースの管理』パーティション化された分散トピックの構成に関する項を参照してください。

MeasurementTopicConnectionFactory

デフォルト: Send Timeout 200000

ボリュームの大きい環境で、メッセージ・プロデューサから頻繁にリソース割当て例外を受信します。

詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』接続ファクトリでの送信タイムアウトの定義に関する項を参照してください。

ボリュームの大きい環境では、このパラメータの送信タイムアウト240000に増やします。

この数値は最大の時間(ミリ秒)を表します。

このパラメータはWebLogicコンソールで変更できます。次のオプション: 「JMSモジュール」「BPMJMSModule」「MeasurementTopicConnectioNFactory」「デフォルト配信」のフロント・ページからこれを検索できます。

メモリーおよびリソースを消費するメッセージ・バックログを作成する場合があります。

MeasurementQuota

デフォルト: Message Maximum 1000000およびBytes Maximum 800000000

測定メッセージを公開できず、javax.jms.ResourceAllocationExceptionをスローして失敗します。

このパラメータの「最大メッセージ」および「最大バイト」を、残りのアプリケーションの負荷を考慮に入れて使用可能なシステム・メモリーの量と等しく設定します。

MeasurementQuota属性はWebLogicコンソールで変更できます。次のオプション: 「JMSモジュール」「BPMJMSModule」「MeasurementQuota」のフロント・ページからこれを検索できます。

この値を増やすと、さらに多くのメモリーを消費します。コンシューマにプッシュされるメッセージの集計サイズが現在のプロトコルの最大メッセージ・サイズよりも大きい場合は、メッセージ配信がまだ失敗することがあります。

測定割当て容量の詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』サイズの大きなメッセージのチューニングに関する項を参照してください。

BPMJMSServer

デフォルト: MessageBufferサイズ100000

JMSサーバーがメッセージ本文を頻繁にディスクに書き込んでいます。

指定したBPMJMSServerのメッセージ・バッファ・サイズを増やします。

BPMJMSServerは、ページング・ファイルおよびJMSFileStoreを使用します。

このパラメータはWebLogicコンソールで変更できます。次のオプション: JMS Servers_auto_numberのフロント・ページからこれを検索できます。

JMSサーバーがさらに多くのメモリーを使用します。