21 Oracle Business Activity Monitoringのチューニング

Oracle Business Activity Monitoring (BAM)をチューニングし、企業のビジネス・サービスおよびプロセスをモニタリングする際のパフォーマンスを最適化できます。

Oracle Business Activity Monitoringについて

Oracle Business Activity Monitoring (BAM)は、企業のビジネス・サービスおよびプロセスをモニタリングするためのツールを備えています。

これにより、市場の指標を実際のビジネス・プロセスと相関させることや、ビジネス・プロセスをすばやく変更したり、ビジネス環境の変化に応じて修正を加えたりすることが可能になります。

Oracle BAMには、ダッシュボードの構築に必要なツールやランタイム・サービスも用意されています。ダッシュボードでは、リアルタイムのデータ・フローを表示し、指定した条件に従ってアラートを送信するルールを定義することができます。

BAMインストールのパフォーマンスをモニタリングする方法の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』Oracle BAMパフォーマンスのモニタリングに関する項を参照してください。

BAMサーバーのパラメータのチューニング

チューニングに関する特定の考慮事項に従うことによって、BAMサーバーのパフォーマンスを向上させることができます。

BAMパフォーマンスは、次のコンポーネントのパフォーマンスに大きく依存します。

BAMパフォーマンスも、設計時の優れたデータ・オブジェクト設計戦略に依存し、実行時に優れたデータ・オブジェクト・パージ戦略があることに依存します。

BAM 12cはさらに大きいボリューム(BAMへのデータ到着率)のトランザクションをサポートできますが、BAM 12cは運用分析製品であり、ビジネス・インテリジェンス製品ではありません。

このため、運用の意思決定の分析値に関するデータは、BAMに保管することをお薦めします。ほとんどの顧客にとって、これはおよそ5日から30日間のトランザクション・データをBAMに保管することを意味します。一般的にデータ・ウェアハウスと比較できる休止中のデータ・サイズは、運用の意思決定には有益でないため、そのようなデータ・ボリュームはBAM 12cの主なユースケースを構成しません。

表21-1で説明されているチューニングの提案は、BAMサーバーのパフォーマンス改善に使用できます。

表21-1 重要なBAMサーバー・チューニング

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

BAMDatasourceへの最大接続数

デフォルト: 50

データ・ソースへの同時接続の数が、常に上限に達しています。

パフォーマンスが直線的に拡張を続けるかぎり、数を増やします。

これはWebLogicレベルで設定されます。値は主に、プロセッサ数、リスニング・ソース・スレッド・モデル、および埋込みサーバーの最大同時リクエスト設定に基づいて決定できます。

数を増やすと、一般的にシステム・リソースの使用量が増えます。

ビューセット有効期限

デフォルト: 180

DC接続が失われた後、ビューセットが残存しています。

ビューセットが残存しないように有効期限の値を減らします。

このパラメータを検索して変更する方法の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』ビューセットのモニタリングに関する項を参照してください。

なし。

DiagnosticLevel

デフォルト: Info

問題を識別するには詳細な診断ログが必要です。

または

システムは正常に実行されているため、詳細ログは必要ありません。

デフォルトのINFOを保持するとパフォーマンスが改善されます。

BAM診断フレームワークの使用の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』BAM診断フレームワークの使用に関する項を参照してください。

システム速度が低下した場合、問題を識別するための詳細ログがありません。

ASM (自動サーバー移行)

デフォルト: WSM

ユーザーが、BAMのあるSOA Suiteインストールを高可用性に移行しようと考えています。BAMはリアルタイム・システムであるため、ASMを有効にする必要があります。

WSMよりも高可用性が早く発生するように、ASMが使用されます。BAMがリアルタイム・システムである場合、BAM HAにASMが必要です。

なし。

JVMヒープ・サイズ

デフォルト: -Xms768m -Xmx1536m

Oracle BAMの実行が遅く、メモリー不足の例外が発生します。

ヒープ・サイズを2GBに増やします。次のコマンドを使用し、引数として-Xms2048mおよび-Xmx2048mを指定します。

setenv USER_MEM_ARGS "-Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=768m"

BAMのJVMヒープ・サイズを増やすと、他のSOAコンポーネントに影響を与える場合があります。

ヒープ・サイズのチューニングのヒントの詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』ヒープ・サイズのチューニングのヒントに関する項を参照してください。

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

Oracle BAMの実行が予想よりも遅い場合は、その他のチューニング戦略を試すことができます。

索引列の作成

エンタープライズ・メッセージ・ソースまたは他のソースからデータ・オブジェクトへのデータのスループットが遅い場合は、主キー列に索引列を作成してください。詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』索引列の追加に関する項を参照してください。

ロガーのチューニング

すべてのロガーに対するデフォルトのOracle Diagnostic LoggingレベルはNotificationです。ストレス・テスト用の環境や本番環境では、ERRORWARNINGなどの最低限のロギング・レベルを使用することを検討してください。

BAMパフォーマンスに影響する可能性があるBEAMのロガーは次のとおりです。

oracle.beam.common.alertsengine
oracle.beam.server.service.alertsengine
oracle.beam.Common
oracle.beam.cqservice
oracle.beam.composer
com.oracle.beam
oracle.beam.datacontrol
oracle.beam.datacontrol.management
oracle.beam.server.service.ems
oracle.beam.messaging
oracle.beam.server.service.persistence
oracle.beam.server.service.reportcache
oracle.beam.security
oracle.beam.mbean
oracle.beam.shared
oracle.beam.server
oracle.beam.impexp.t2p
oracle.beam

これらのロガーの検索およびそのOracle Diagnostic Loggingレベルの変更の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』ログ・ファイルの構成に関する項を参照してください。

連続した問合せサービスのチューニング

連続した問合せサービス(CQS)は、Oracle Complex Event Processing Service Engineに含まれるContinuous Query Language (CQL)エンジンのBAM固有のラッパーです。CQSは純粋なプッシュ・システムです。問合せ結果は自動的に配信されます。CQSでは、ストリーム(非永続)とアーカイブされたリレーション(永続)データ・オブジェクトの両方がサポートされています。

問合せを作成すると、CQSでは、CQLエンジン内に表を設定し、問合せを登録して、永続性エンジンからのデータ変更をリスニングします。問合せ結果はCQLエンジン内で処理された後、CQSにプッシュされ、さらにレポート・キャッシュにプッシュされます。

パフォーマンスの問題に対する連続問合せのモニタリング方法の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』連続した問合せのモニタリングに関する項を参照してください。現在のシステムがどのように実行されているか理解したら、表21-2に示すノブのチューニングによって、パフォーマンスの改善を試行できます。これらのパラメータのほとんどにとって、パフォーマンスを考慮したチューニングは、診断情報を失うことを意味することに注意してください。

表21-2 連続した問合せサービスのチューニング

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

データ・オブジェクト・タイプ

デフォルト: なし

ストリーム、アーカイブ済ストリームおよびアーカイブ済リレーションとして単純なデータ・オブジェクトを任意に指定しましたが、処理がわかりません。

履歴データに関心がない場合、データ・オブジェクトをストリームとして分類します。

各データ・オブジェクト・タイプおよび関連の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』データ・オブジェクト・タイプに関する項を参照してください。

データ・オブジェクトのパージ

デフォルト: 無効

デフォルトではデータ・オブジェクトの保存は設定されません。データ・オブジェクトに多くの行があると、パフォーマンスの問題を引き起こします。

顧客は、データ・オブジェクトの保存をデータ・オブジェクトの「保存」タブに設定して、データをデータ・オブジェクトに保持する日数を指定できます。指定した日数が経過すると、データ行は自動的にパージされます。

この設定を検索して変更する方法の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』データ・オブジェクトにおけるデータ保存の設定に関する項を参照してください。

アーカイブ済ストリーム・データ・オブジェクトのリプレイ

アーカイブ済ストリーム・データ・オブジェクトのデータ解析が遅くなっています。

「リプレイ単位」または「リプレイ量」の指定を小さくして、メモリーに保持されている過去データの量を削減します。これによって、データベースから取得されたデータを解析するための時間およびメモリーが削減されます。

入力ストリームの時間ウィンドウ

アクティブ・データ問合せを連続した問合せにし、メモリー不足の例外を受け取っています。

アクティブ・データ・ストリームの時間ウィンドウ・サイズを小さくします。これによって、ウィンドウが要素の格納に使用するメモリーの量が制限されます。

どのぐらいのウィンドウ・サイズがメモリー使用率に影響するかを調べるために、ウィンドウ・サイズ = 1時間(RANGE 1時間)およびイベント・サイズ = 100バイトのシナリオを想定します。イベント率が1000イベント/秒である場合、ウィンドウには満杯のときで1000 * 3600のイベントが含まれます。消費されるメモリーは1000 * 3600 * 100バイト = ~340MBです。

アクティブ・データ・ビューのウィンドウ・サイズを構成する方法の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』ビューでのアクティブ・データの有効化に関する項を参照してください。

アクティブ・データ縮小間隔

デフォルト: 選択解除

データ集計をアクティブにするために、「アクティブ・データ縮小」のボックスを選択しています。より頻繁なスナップショットが必要であるか、メモリーの解放が必要です。

小さい「間隔」を定義して、ビューの更新を頻繁にし、メモリーに格納される集計済データの量を削減します。

評価間隔、イベント・サイズおよびイベント率に注意することによって、メモリー使用率を最大化できます。次の値を指定したとします。

  • 間隔: 5分ごと
  • イベント・サイズ: 100バイト
  • イベント率: 1000イベント/秒

集計ビューの最大サイズは5 * 60 * 1000 = 300,000イベント = ~28MBです。

「アクティブ・データ縮小」設定の検索の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』アクティブ・データの使用に関する項を参照してください。

データ・オブジェクト・ディメンション表の緩やかに変化するディメンション

デフォルト: 選択解除

ディメンション表の連続した問合せが遅くなっており、メモリーを消費しています。

このプロパティを選択してアクティブ化します。これは、このディメンション表のデータ変更の頻繁が低いことを示します。

データ・オブジェクトの緩やかに変化するディメンションの指定の詳細は、『Oracle BAMでのビジネス・アクティビティのモニタリング』データ・オブジェクトの緩やかに変化するディメンションの指定に関する項を参照してください。

問合せタイプ

デフォルト: SQL

メモリー不足の例外が発生しており、問合せのほとんどが連続しています。

頻繁な出力が予想されない場合はスケジュール問合せ(SQL)を使用します。CQLはメモリーにデータを格納しますが、SQLにはJDBCリソースが含まれるため、これによってメモリーが節約されます。