プライマリ・コンテンツに移動
Oracle® Fusion Middlewareパフォーマンスのチューニング・ガイド
12c (12.2.1)
E69910-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

Oracle Business Process Management Suiteでは、設計時および実装からランタイムおよびアプリケーション管理まで、アプリケーション開発ライフサイクルの全ステージをシームレスに統合します。

この章の内容は次のとおりです。

16.1 Oracle Business Process Managementについて

Oracle Business Process Management Suiteは、ビジネス・プロセスを中心にしたビジネス・アプリケーションを開発、管理および使用するための統合環境を提供します。Oracle Business Process Managementは、Oracle SOA Suite上に存在し、統合の実現にBusiness Rules、Human WorkflowおよびOracle Adapter Frameworkを含む多くの同じ製品コンポーネントを共有します。

Oracle Business Process Managementの使用の詳細は、『Oracle Fusion Middleware Oracle Business Process Managementユーザーズ・ガイド』を参照してください。

他のOracle Fusion MiddlewareコンポーネントによるOracle Business Process Managementのチューニングの詳細は、第2章「主なパフォーマンス分野」を参照してください。

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

この項では、主な目的がパフォーマンスの最適化であるときにチューニングする必要があるパラメータについて説明します。これらのパラメータは、BPMNプロパティのSOA管理を介してEnterprise Managerでチューニングできます。

Oracle Business Process Managementエンジンのパフォーマンスをチューニングするために、リソースの需要を減らして待機時間を減らし、システム・キャパシティを増やしてスケーラビリティを大きくすることができます。

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

表16-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プロセス・サービス・コンポーネントおよびエンジンのモニタリングに関する項を参照してください。


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

システム・キャパシティの増加は、パフォーマンス・テストの結果の分析に基づいてのみ行う必要があります。テストでスケールにおける制約が示されないかぎり、調整は行わないでください。システム・キャパシティを増やすために、表16-2に示されているパラメータをチューニングできます。

表16-2 システム・キャパシティを増やすために重要なBusiness Process Managementのチューニング

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

DispatcherEngineThreads

デフォルト: 2スレッド

システム・ディスパッチャ・メッセージとは、通常はサーバーで迅速に処理される一般的なクリーン・アップ・タスク(ステートフル・メッセージBeanを元のプールへ解放するなど)です。一般に、実行時に生成される数のシステム・ディスパッチャ・メッセージは、ごく少数のスレッドで処理できます。次のいずれかの問題がある場合は、このパラメータのチューニングが必要なことがあります。

スレッドが不足しています。CPU利用率が低いままです。

または

スレッドが多すぎます。コンテキスト切替えによってCPU使用率が上昇しますが、スループットは増加しません。

スレッド・プール使用率に基づいてそれぞれのワークロードのスレッド・プール・サイズを増やします。

リクエストおよび追加のCPUキャパシティのバックログがある場合、スレッド数を増やすことを検討してください。

スレッド・プールのサイズを増やすと、CPU利用率およびガベージ・コレクションが増えます。ただし、同じプラットフォームを共有する他のアプリケーションがあり、追加のCPUキャパシティにアクセスすることが予想される場合は、これによって競合が発生する可能性があります。

DispatcherInvokeThreads

デフォルト:20スレッド

呼出しディスパッチ・メッセージは、受信したペイロードごとに生成されるもので、新規インスタンスのインスタンス化を目的としています。次のいずれかの問題がある場合は、このパラメータのチューニングが必要なことがあります。

スレッドはビジーですが、CPU利用率が低いままです。

または

スレッドが多すぎます。コンテキスト切替えによってCPU使用率が上昇しますが、スループットは増加しません。

スレッド・プール使用率に基づいてそれぞれのワークロードのスレッド・プール・サイズを増やします。

リクエストおよび追加のCPUキャパシティのバックログがある場合、スレッド数を増やすことを検討してください。

スレッド・プールのサイズを増やすと、CPU利用率が増えます。ただし、同じプラットフォームを共有する他のアプリケーションがあり、追加のCPUキャパシティにアクセスすることが予想される場合は、これによって競合が発生する可能性があります。


接続プールのサイズを増やして、接続の使用の最適化を試行することもできます。

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

前述の項に示したパラメータをチューニングした後、パフォーマンスをさらに改善するために次の戦略の使用を検討してください。

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

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

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

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

パラメータ 問題点 チューニングに関する推奨事項 トレードオフ
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

待機時間が遅い/大きいネットワークのパフォーマンスが低下しています。 圧縮を有効に保つデフォルトを保持します。

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

次に示すのは、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>
なし。

16.3.2 プロセス測定

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

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


注意:

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

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

表16-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は、ページング・ファイルおよびJMSファイル・ストアを使用します。

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

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