WebLogic Server パフォーマンス チューニング ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Web アプリケーションのチューニング

以下の節では、Web アプリケーションのチューニングとセッションの管理に関するベスト プラクティスを示します。

 


ベスト プラクティス

ページ チェックの無効化

サーブレットおよび JDP のページ チェックを無効化すると、パフォーマンスを向上できます。以下の各パラメータを -1 に設定します。

これはプロダクション モードではデフォルトの値です。

カスタム JSP タグの使用

BEA では、JSP ページで使用できる特殊な JSP タグとして、cache、repeat、および process の 3 つを提供しています。これらのタグは、weblogic-tags.jar というタグ ライブラリ jar ファイルにパッケージされています。この jar ファイルには、タグのクラスとタグ ライブラリ記述子 (TLD) が含まれています。これらのタグを使用するには、JSP を格納する Web アプリケーションにこの jar ファイルをコピーして、タグ ライブラリを JSP で参照します。『WebLogic Server Web アプリケーション、サーブレット、JSP の開発』の「カスタム WebLogic JSP タグ (cache、process、repeat) の使い方」を参照してください。

JSP のプリコンパイル

weblogic.xml デプロイメント記述子の jsp-descriptor 要素の precompile パラメータを true に設定すると、Web アプリケーションをデプロイまたは再デプロイしたとき、あるいは WebLogic Server を起動したときに JSP をプリコンパイルするようにコンフィグレーションできます。サーバを再起動するたびに、また追加でサーバを対象指定したときに、JSP を再コンパイルしないようにするには、weblogic.jspc を使用して JSP をプリコンパイルし、プリコンパイルした JSP を WEB-INF/classes フォルダにコピーして、.war ファイルにアーカイブします。ソース ファイルをアーカイブ .war ファイルとは別のディレクトリに格納すると、クラス ファイルのどれかと JSP との依存関係によってエラーが発生するおそれがなくなります。JSP の再コンパイルを回避する方法の詳細については、「JSP の不必要な再コンパイルの回避」を参照してください。

サービス レベル アグリーメントの使用

ワーク マネージャには、アプリケーションで必要とされるサーバ レベル アグリーメントに基づいてサーブレットや JSP を割り当てる必要があります。「スレッド管理」を参照してください。

関連情報

 


セッション管理

セッションの永続性およびセッションを処理する場合、一般にはアプリケーションの作業ができるだけ少なくなるようアプリケーションを最適化する必要があります。以下の節では、環境やアプリケーションに適したセッション管理方法の設計について説明します。

セッションの永続性の管理

Weblogic Server は、さまざまなアプリケーション要件に対応できるよう、5 つのセッション永続性メカニズムを備えています。セッション永続性メカニズムは、Web アプリケーション レイヤでコンフィグレーションできます。どのセッション管理戦略を選択するかは、HTTP セッションのサイズ、セッションのライフ サイクル、信頼性、セッションのフェイルオーバといった実際の要件によって異なります。たとえば、フェイルオーバが不要な Web アプリケーションであれば単一メモリ ベースのセッションとして管理でき、セッション フェイルオーバ機能を必要とする Web アプリケーションであれば、そのライフ サイクルやオブジェクト サイズに応じてレプリケート セッションまたは JDBC セッションとして管理できます。

純粋にパフォーマンスの面から言えば、セッション ステートの JDBC ベースの永続性よりも、インメモリ セッションの永続性の方が全般的に優れています。「Session Persistence Performance in BEA WebLogic Server 7.0」の著者によれば、「データのシリアライズとデシリアライズに伴う負荷はすべてのセッション永続性メカニズムで扱わなければなりませんが、データベース対話に伴う追加的な負荷は JDBC ベースのセッション永続性のパフォーマンスに影響し、インメモリ レプリケーションのパフォーマンスを下回る原因となります」。ただし、インメモリ ベースのセッション永続性は、WebLogic クラスタを使用する必要があるため単一サーバ環境では選択できません。

一方、JDBC ベースの永続性を使用した環境では、WebLogic クラスタを使用する必要はなく、セッション ステートをより長い期間にわたってデータベースに保持できます。JDBC ベースの永続性のパフォーマンスを向上させるには、コードを最適化してセッション ステートの永続性の粒度をできるだけ高くします。また、データベースの選択、データベース サーバの適切なコンフィグレーション、JDBC ドライバ、JDBC 接続プールのコンフィグレーションなども、JDBC ベースの永続性のパフォーマンスに影響します。

セッション永続性の管理の詳細については以下を参照してください。

セッションの最小化

アプリケーションをチューニングして最高のパフォーマンスを引き出すには、WebLogic Server のセッション管理の方法をコンフィグレーションすることが重要になります。以下のことを考慮してください。

詳細については、『WebLogic Server Web アプリケーション、サーブレット、JSP の開発』の「セッション管理の設定」を参照してください。

セッション データの集約

この節では、セッション データの集約方法のベスト プラクティスを紹介します。WebLogic Server ではセッションの変更を属性によって追跡およびレプリケートするので、以下のことを行う必要があります。

たとえば 1 つの大きな属性を使用して、そこにすべてのセッション データを含めている場合、そのデータの 10 % だけを変更しても、属性全体をレプリケートする必要があります。この操作によって、不要なシリアライズ/デシリアライズやネットワークのオーバーヘッドが生じます。この場合、変更する 10% のセッション データを別の属性に移動する必要があります。


  ページの先頭       前  次