Oracle Business Process Management Suiteでは、設計時および実装からランタイムおよびアプリケーション管理まで、アプリケーション開発ライフサイクルの全ステージをシームレスに統合します。
この章の内容は次のとおりです。
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章「主なパフォーマンス分野」を参照してください。
この項では、主な目的がパフォーマンスの最適化であるときにチューニングする必要があるパラメータについて説明します。これらのパラメータは、BPMNプロパティのSOA管理を介してEnterprise Managerでチューニングできます。
Oracle Business Process Managementエンジンのパフォーマンスをチューニングするために、リソースの需要を減らして待機時間を減らし、システム・キャパシティを増やしてスケーラビリティを大きくすることができます。
リソースの需要を減らすには、表16-1に示すパラメータをチューニングできます。
表16-1 リソースの需要を減らすために重要なBusiness Process Managementのチューニング
パラメータ | 問題点 | チューニングに関する推奨事項 | トレードオフ |
---|---|---|---|
デフォルト: 10000 (100KB) |
大きいBPMNデータ・オブジェクトを格納しているため、インスタンスの処理が遅くなっています。 |
このパラメータの最大サイズ(KB)を小さくして、BPMNデータ・オブジェクトのサイズを制限します。この制限を超過すると、他のインスタンス・スコープ・データとは別の場所にデータが格納されます。 このプロパティは、永続プロセスと一時プロセスの両方に適用されます。 |
オーバーフロー・データは、外部の追加専用表に格納されます。これによって、データベース全体のサイズが増加し、データベースからのインスタンスのロード時にワークロード全体が増える場合があります。 |
デフォルト: インフラストラクチャからの |
audit_trail表へのデータベース挿入が頻繁に行われています。これらはプロセスによってログに記録されている監査イベントによって引き起こされています。 |
監査を減らすか無効にします。次のいずれかの設定に切り替えることができます。
|
後で問題の診断に使用できる詳細なエラー・レポートがなくなります。監査レベルは、常にビジネス要件およびユースケースに従って選択してください。 モニタリングのために監査証跡を使用する方法の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のBPMNプロセス・サービス・コンポーネントおよびエンジンのモニタリングに関する項を参照してください。 |
完了したインスタンスをビジネス要件で許可されたとおりにパージして、フレックス・フィールドの索引追加を試行することもできます。
システム・キャパシティの増加は、パフォーマンス・テストの結果の分析に基づいてのみ行う必要があります。テストでスケールにおける制約が示されないかぎり、調整は行わないでください。システム・キャパシティを増やすために、表16-2に示されているパラメータをチューニングできます。
表16-2 システム・キャパシティを増やすために重要なBusiness Process Managementのチューニング
パラメータ | 問題点 | チューニングに関する推奨事項 | トレードオフ |
---|---|---|---|
デフォルト: 2スレッド |
システム・ディスパッチャ・メッセージとは、通常はサーバーで迅速に処理される一般的なクリーン・アップ・タスク(ステートフル・メッセージBeanを元のプールへ解放するなど)です。一般に、実行時に生成される数のシステム・ディスパッチャ・メッセージは、ごく少数のスレッドで処理できます。次のいずれかの問題がある場合は、このパラメータのチューニングが必要なことがあります。 スレッドが不足しています。CPU利用率が低いままです。 または スレッドが多すぎます。コンテキスト切替えによってCPU使用率が上昇しますが、スループットは増加しません。 |
スレッド・プール使用率に基づいてそれぞれのワークロードのスレッド・プール・サイズを増やします。 リクエストおよび追加のCPUキャパシティのバックログがある場合、スレッド数を増やすことを検討してください。 |
スレッド・プールのサイズを増やすと、CPU利用率およびガベージ・コレクションが増えます。ただし、同じプラットフォームを共有する他のアプリケーションがあり、追加のCPUキャパシティにアクセスすることが予想される場合は、これによって競合が発生する可能性があります。 |
デフォルト:20スレッド |
呼出しディスパッチ・メッセージは、受信したペイロードごとに生成されるもので、新規インスタンスのインスタンス化を目的としています。次のいずれかの問題がある場合は、このパラメータのチューニングが必要なことがあります。 スレッドはビジーですが、CPU利用率が低いままです。 または スレッドが多すぎます。コンテキスト切替えによってCPU使用率が上昇しますが、スループットは増加しません。 |
スレッド・プール使用率に基づいてそれぞれのワークロードのスレッド・プール・サイズを増やします。 リクエストおよび追加のCPUキャパシティのバックログがある場合、スレッド数を増やすことを検討してください。 |
スレッド・プールのサイズを増やすと、CPU利用率が増えます。ただし、同じプラットフォームを共有する他のアプリケーションがあり、追加のCPUキャパシティにアクセスすることが予想される場合は、これによって競合が発生する可能性があります。 |
接続プールのサイズを増やして、接続の使用の最適化を試行することもできます。
前述の項に示したパラメータをチューニングした後、パフォーマンスをさらに改善するために次の戦略の使用を検討してください。
データベース・パフォーマンスおよびセッション状態の管理は、パフォーマンスを改善する主要要因です。効率的なデータベース・チューニングおよび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トークン
デフォルト: |
待機時間が遅い/大きいネットワークのパフォーマンスが低下しています。 | 圧縮を有効に保つデフォルトを保持します。
この設定は、ページ状態を圧縮するかどうかを制御します。圧縮により、セッション・オブジェクトのページ状態で使用されるメモリーを大幅に削減します。 次に示すのは、web.xmlのスニペットです。
<param-name>org.apache.myfaces.trinidad.COMPRESS_VIEW_STATE</param-name>
<param-value>true</param-value>
|
表示状態の圧縮および解凍に追加のCPUコストがかかります。 |
DISABLE_CONTENT_COMPRESSION
デフォルト: |
ページの初期ロードが遅くなっています。 | 本番環境では、必ず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は測定イベントを使用して、プロセスをサンプリングし、登録されたコンシューマに測定を公開します。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リソース | 問題点 | チューニングに関する推奨事項 | トレードオフ |
---|---|---|---|
デフォルト: |
クラスタ・インストール内の分散測定トピックは、デフォルトの |
このパラメータの転送ポリシーを このパラメータはWebLogicコンソールで変更できます。次のオプション: 「JMSモジュール」→「BPMJMSModule」→「dist_MeasurementTopic_auto」のフロント・ページからこれを検索できます。変更を有効にするには、すべてのSOA BPMクラスタ・ノードを再起動する必要があります。 |
分散トピックと他のトピック・タイプの詳細は、『Oracle WebLogic ServerメッセージドリブンBeanの開発』のサポートされるトピック・タイプに関する項を参照してください。 パーティション化およびレプリケート転送ポリシーの詳細は、『Oracle WebLogic Server JMSリソースの管理』のパーティション化された分散トピックの構成に関する項を参照してください。 |
デフォルト: |
ボリュームの大きい環境で、メッセージ・プロデューサから頻繁にリソース割当て例外を受信します。 詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』の接続ファクトリでの送信タイムアウトの定義に関する項を参照してください。 |
ボリュームの大きい環境では、このパラメータの送信タイムアウトを この数値は最大の時間(ミリ秒)を表します。 このパラメータはWebLogicコンソールで変更できます。次のオプション: 「JMSモジュール」→「BPMJMSModule」→「MeasurementTopicConnectioNFactory」→「デフォルト配信」のフロント・ページからこれを検索できます。 |
メモリーおよびリソースを消費するメッセージ・バックログを作成する場合があります。 |
デフォルト: |
測定メッセージを公開できず、j |
このパラメータの「最大メッセージ」および「最大バイト」を、残りのアプリケーションの負荷を考慮に入れて使用可能なシステム・メモリーの量と等しく設定します。
|
この値を増やすと、さらに多くのメモリーを消費します。コンシューマにプッシュされるメッセージの集計サイズが現在のプロトコルの最大メッセージ・サイズよりも大きい場合は、メッセージ配信がまだ失敗することがあります。 測定割当て容量の詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』のサイズの大きなメッセージのチューニングに関する項を参照してください。 |
デフォルト: MessageBufferサイズ 100000 |
JMSサーバーがメッセージ本文を頻繁にディスクに書き込んでいます。 |
指定したBPMJMSServerのメッセージ・バッファ・サイズを増やします。これによって BPMJMSServerは、ページング・ファイルおよびJMSファイル・ストアを使用します。 このパラメータはWebLogicコンソールで変更できます。次のオプション: JMS Servers_auto_numberのフロント・ページからこれを検索できます。 |
JMSサーバーがさらに多くのメモリーを使用します。 |