1 WebLogic Serverのチューニングにおける重要推奨事項

Oracle WebLogic ServerおよびWebLogic Serverアプリケーションのチューニングは、複雑で繰返し実施しなければならない作業です。まずはじめに、ご使用のアプリケーションのパフォーマンスを最適化するために推奨される様々な手法について説明します。ここで説明するチューニング方法は、ほとんどのWebLogicアプリケーションに適用できます。

プール・サイズのチューニング

予想されるスレッドの利用に対して、並行性を最大化するプール・サイズ(JDBC接続、ステートレス・セッションEJB、およびMDBのプールなど)を指定します。

WebLogic Serverリリース9.0以降の場合、サーバー・インスタンスでは自動チューニング・スレッド・プールが使用されます。適切なプール・サイズを決定する最良の方法は、プールの現在のサイズ、縮小数、拡大数、および待機数をモニターすることです。「スレッド管理」を参照してください。MDBのチューニングは特殊なケースです。「メッセージドリブンBeanのチューニング」を参照してください。

プリペアド文キャッシュの使用

プリペアド文キャッシュは、メモリーにコンパイル済SQL文を保持するため、後で同じ文が使用された場合に、データベースとの往復を回避できます。

「データ・ソースのチューニング」を参照してください。

ロギング・ラスト・リソースの最適化の使用

トランザクション対応のデータベース・アプリケーションを使用する場合、XAではなく、JDBCデータ・ソースのロギング・ラスト・リソース(LLR)トランザクション・ポリシーの使用を検討してください。

LLRの最適化を使用すると、特に2フェーズ・コミット・データベースの挿入、更新、および削除処理など、データベース処理の2PC XAオーバーヘッドの一部が安全に除去されるため、トランザクションのパフォーマンスを大幅に向上することができます。「データ・ソースのチューニング」を参照してください。

接続バックログのバッファリングのチューニング

WebLogic Serverインスタンスが受け入れる接続リクエストの数(それ以上のリクエストは拒否されます)をチューニングできます。この調整可能なパラメータは、主にWebアプリケーションに適用されます。

「接続バックログのバッファリングのチューニング」を参照してください。

OptimisticまたはRead-only並行性の使用

EJBコンテナで提供されるエンティティBeanキャッシュを活用するため、CMP EJBのquery-cachingではRead-only並行性を、cache-between-transactionsではOptimistic並行性を使用してください。

  • cache-between-transactionsでのOptimistic並行性は、read-mostly Beanに対して最も正常に機能します。これらと読込みの検証を組み合せて使用すると、データの高整合性が保証され、キャッシングのパフォーマンスも向上します。「WebLogic Server EJBのチューニング」を参照してください。

  • 問合せキャッシングはWebLogic Server 9.0以降の機能。EJBコンテナはこの機能によって、読取り専用EJBに対して定義された任意の非主キー・ファインダの結果をキャッシュできます。これらのパラメータはすべて、アプリケーションまたはモジュールのデプロイメント記述子で設定できます。「並行性戦略」を参照してください。

ローカル・インタフェースの使用

同じアプリケーション内で、あるEJBがサーブレットまたはJSPによって呼び出されたり、別のEJBに呼び出される場合は、local-interfacesを使用するか、call-by-referenceセマンティクスを使用して、シリアライゼーションのオーバーヘッドを回避します。

次の点に注意してください。

ノート:

  • WebLogic Server 8.1より前のリリースでは、call-by-referenceはデフォルトでオンになっています。WebLogic Server 8.1以降のリリースでは、call-by-referenceはデフォルトでオフになっています。call-by-referenceが明示的にオンにされない8.1以降のWebLogic Serverに移行する古いアプリケーションでは、パフォーマンスが低下する場合があります。

  • この最適化は、異なるアプリケーション間の呼出しには適用されません。

eager-relationship-cachingの使用

eager-relationship-cachingを使用すると、EJBコンテナは、単一のSQL文を使って関連Beanをロードできます。

この機能を使用すると、トランザクションの関連Beanをロードするデータベース呼出し数が減少するため、Beanとその関連Beanがそのトランザクションで使用されるものと考えられる場合にパフォーマンスが向上します。「WebLogic Server EJBのチューニング」を参照してください。

HTTPセッションのチューニング

セッションの永続性およびHTTPセッションを処理する場合、アプリケーションの作業ができるだけ少なくなるようアプリケーションを最適化してください。また、環境およびアプリケーションに合わせてセッション管理戦略を設計する必要もあります。

「セッション管理」を参照してください。

メッセージング・アプリケーションのチューニング

メッセージング・ユーザー用に、パフォーマンスを調整可能なパラメータが豊富に提供されています。一般的に、割当てとページングは常に構成する必要があります。

次を参照してください: