キャパシティ プランニングとパフォーマンス チューニング

     前  次    目次     
ここから内容

WLI のチューニング

この節では、プロダクション環境でチューニングできる WLI パラメータについて説明します。ここでは、以下のトピックについて説明します。

 


BPM ロギング レベル

WLI ドメイン ディレクトリにある ApacheLog4jCfg.xml は、WLI BPM のロギング コンフィグレーションおよびロギング レベルを指定します。デバッグおよびテスト目的で、そのようなメッセージが必要な場合にのみ、priority レベルを「debug」または「info」に設定してください。プロダクション環境では、すべてのログ アペンダの priority 値を「warn」または「error」に設定する必要があります。

 


JDBC データ ソースのチューニング

WLI では、以下の JDBC データ ソースを使用します。

これらの JDBC データ ソースを監視し、初期容量、最大容量、および増加容量の値を変更して、接続プールで、適切な数の接続を使用できるようにする必要があります。接続プールの InitialCapacity を MaxCapacity に設定して、プールの拡張または縮小にかかる時間が発生しないようにすることをお勧めします。

アプリケーションがデータベースに大きく依存している場合は、以下を考慮してください。

 


AsyncDispatcher MDB のチューニング

デフォルトでは、WLS のセルフチューニングにより、16 のスレッドが AsyncDispatcher に割り当てられます。別個のワークマネージャを AsyncDispatcher に追加し、追加のスレッドを割り当てることができます。これにより、追加の AsyncDispatcher MDB インスタンスが作成されます。

JPD プロジェクトのすべての JPD が、同じ AsyncDispatcher MDB を使用します。以下のシナリオでは、プロジェクトをさらに小さなプロジェクトに分割することを検討してください。

詳細については、「メッセージ駆動型 Bean のチューニング」の「同時 MDB の数の確定」を参照してください

 


EJB プールのチューニング

WLI では、プロジェクトごとに以下の EJB があります。

これらの EJB のプール サイズをチューニングして、高負荷を処理できます。同じプロジェクトの 2 つ以上の JPD が、同じ EJB を共有します。以下のシナリオでは、プロジェクトをさらに小さなプロジェクトに分割することを検討してください。

これらの EJB の EJB プールのチューニング方法については、「WebLogic Server EJB のチューニング」の「EJB プールのチューニング」を参照してください。

 


HTTP コントロール

デフォルトでは、HTTP を使用した、プールされた接続は、ホストあたりで 2 つです。ホストあたりのプール サイズを増加させるには、以下のシステム プロパティを使用できます。

wli.httpcontrolmaxconnectionsperhost

デフォルトでは、HTTP を使用した、プールされた接続は、すべてのホストで 20 です。すべてのホストのプール サイズを増加させるには、以下のシステム プロパティを使用できます。

wli.httpcontrolmaxtotalconnections

 


内部キュー

WLI では、conversational-jms モジュールで、多数の内部キューを使用します。デフォルトでは、これらのキューのほとんどが、永続 JDBC ストアを使用します。

キューで JDBC 永続性が必要ない場合は、「Non-Persistent」に変更するか、または、ファイル永続性パラメータを使用できます。キューを Non-Persistent に変更すると、プロセス インスタンス情報用に使用される wli.internal.instance.info.buffer キューは、WLI のパフォーマンスを大幅に向上できます。

注意 : キューの永続性を変更すると、サーバまたはマシンで予期しないクラッシュが発生した場合に、データの消失の原因となる可能性があります。

詳細については、『WebLogic Server パフォーマンス チューニング ガイド』の「WebLogic 永続ストアのチューニング」および「WebLogic JMS のチューニング」を参照してください

 


JMS EG のチューニング

デフォルトでは、WLI ドメイン ディレクトリに作成される JMS EG アプリケーションの max-beans-in-free-pool は 5 に設定されています。

プール サイズを増加して、パフォーマンスの向上を試みることができます。16 を超える MDB インスタンスが必要な場合は、EG のディスパッチポリシーとして、最小および最大スレッド制約で、ワークマネージャにより多くのスレッドを割り当てることができます。

詳細については、「メッセージ駆動型 Bean のチューニング」の「同時 MDB の数の確定」を参照してください

 


ドキュメント サイズ

WLI ドメイン ディレクトリにある wli-config.propertiesweblogic.wli.DocumentMaxInlinSize パラメータは、SQL ドキュメント ストアに格納されるドキュメントの最大サイズを指定します。ドキュメント (着信メッセージ) が weblogic.wli.DocumentMaxInlinSize で指定されている値よりも大きい場合、メッセージには、ドキュメント参照のみが含まれます。そうでない場合は、ドキュメントはコピーとして渡されます。メッセージが大きく、ドキュメント ストアが頻繁にアクセスされる場合、結果として、データベース I/O が増加し、メモリの使用率が低下します。そのため、しきい値が重要になります。

メッセージ トラッキングを使用して、メッセージのサイズを決定できます。しきい値をチューニングして、パフォーマンスを向上します。多数の JPD 間でドキュメントが交換される場合は、複数の JPD に同じデータを渡すのではなく、ドキュメント ストアを使用して、JPD に関連するドキュメント参照を渡すことができます。

 


プロセスのトラッキング

表 B-1 は、プロセスのトラッキングのさまざまなレベルと生成されるイベントを示しています。パフォーマンスの観点で見た場合、プロセスのトラッキングのレベルを none から full に変更するに従い、システムのパフォーマンスは低下します。

表 B-1 プロセスのトラッキングのレベル
レベル
説明
NONE
イベントは生成されません。
MINIMUM
プロセスの起動/終了、サスペンド、および再開などのグローバル イベントのみが記録されます。
NODE
実行された各ノードが、起動ノード イベントおよび終了/中断ノード イベントを生成します。
FULL
NODE レベルのイベントと JpdContext.log() が実行された結果としてのイベントが生成されます。

NONE を FULL に変更すると、より多くのイベントが生成されます。これらのイベントにより、プロセス インスタンス情報およびプロセス トラッキング データに関する追加のデータベース オペレーションが発生します。高いレベルのプロセス トラッキングによって影響を受ける WLI_PROCESS_EVENT テーブルをパーティション化できます。

パーティション化の詳細については、『Oracle9i データベース チューニング ガイド』の「WLI_PROCESS_EVENT テーブル」を参照してください。プロセスのトラッキングの詳細については、『WebLogic Integration Administration Console の使用』の「プロセス トラッキング データ」を参照してください

 


B2B プロセスのトラッキング

トレーディング パートナ統合の場合、以下のレベルのメッセージ トラッキングが提供されます。

メッセージ トラッキングのレベルを None から All に変更すると、データベース オペレーションによりパフォーマンスが影響を受ける場合があります。詳細については、『WebLogic Integration Administration Console の使用』の「トレーディング パートナ管理のコンフィグレーション」を参照してください

 


ワークリスト レポートとクエリ

データベースの負荷が高いシナリオでは、ワークリスト レポート機能により、パフォーマンスが影響を受ける場合があります。この機能は、レポートのための追加のデータベース オペレーションを必要とします。別個のレポート データソースを p13ndatasource 以外のデータベース マシンに指定して、レポート ストアを異なるデータベース マシンに移動することをお勧めします。

デフォルトのレポート ストアの詳細については、『Worklist の使い方』の「デフォルトのレポート ストア」を参照してください

すべてのワークリスト タスクのデータを一度にフェッチしようとしないでください。データベースに大量のタスクが含まれていると、システムが低速になります。WorklistTaskQuery.getTaskDataCursor を使用して、データベースから最大で 1000 のタスクをフェッチできます。WorklistTaskDataCursor は、batchSize での指定に従って、バッチでタスクをフェッチします。

 


JMS コントロールのチューニング

WLI JMS コントロールを使用する場合、WLI JMS コントロールの send-with-xa アノテーションを true に設定して、WLI のパフォーマンスを向上することができます。

 


テスト コンソール

テスト コンソールは、すべてのログを JVM ヒープに格納します。システムのパフォーマンスが影響を受けないように、ログをクリアする必要があります。

デフォルトでは、テスト コンソール (setDomainEnv ファイルの testConsoleFlag) は、開発ドメインでは有効に、プロダクション ドメインでは無効になっています。デバッグ目的で必要な場合以外は、プロダクション システムでは、テスト コンソールを有効にしないでください。


  ページの先頭       前  次