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

     前  次    目次     
ここから内容

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

Web アプリケーションの優れたパフォーマンスを実現するために実施できる重要な作業の 1 つとして、適切な設計を行うことが挙げられます。ポータルの設計の詳細については、最適なパフォーマンスを得るためのポータルの設計」を参照してください。

この章では、実際のニーズに応じて最適化できるコンフィグレーション設定と主な領域について説明します。以下の節が含まれています。

 


ポータル コントロール ツリーの最適化

ポータル Web アプリケーションでは、コントロール ツリーを使用してさまざまな機能をキャッシュし、キャッシュした機能にアクセスします。たとえば、ポータルでは、コントロールを使用してデスクトップ、ブック、ページ、ポートレット、およびメニューにアクセスします。多数のコントロールを必要とする複雑なポータルを作成する場合、ポータルの最適なパフォーマンスを実現する最も簡単な方法は、ツリーを最適化することです。現在のポータル インスタンスでアクティブではないコントロールは構築されないため、時間が大幅に短縮され、オーバヘッドも抑えることができます。ただし、複数レベルのメニューを使用すると、コントロール ツリーの最適化によってもたらされるパフォーマンス上の多くのメリットが失われます。これは、複数レベルのメニューでは、メニューを構築するためにコントロール ツリーをトラバースするためです。

コントロール ツリーを最適化する状況の詳細については、『WebLogic ポータル開発ガイド』の「最適なパフォーマンスを得るためのポータルの設計」を参照してください。

 


ポータル Web アプリケーション パラメータの変更

ポータル アプリケーションでは、コンフィグレーション ファイルを使用してアプリケーション設定を保存します。一部のデフォルト設定は、特定のポータル アプリケーションには適用できない場合があります。

ポータル アプリケーションでは、それぞれに固有のコンフィグレーション ファイルを使用して、パフォーマンスに影響を及ぼす可能性のあるパラメータをカスタマイズします。ポータルのパフォーマンスにとって重要な 4 つのコンフィグレーション ファイルは次のとおりです。

ほとんどの設定は、WebLogic Server Console または WebLogic Portal Administration Console を使用して調整できます。ただし、この節で説明する設定の多くは、コンフィグレーション ファイルに手動で入力する必要があります。

ポータル フレームワーク設定の変更

netuix-config.xml ファイルは、ポータル Web アプリケーションの WEB-INF ディレクトリにあります。

変更を加えた後、変更を有効にするには Web アプリケーションを再デプロイする必要があります。Web 記述子ファイルの変更の詳細については、『プロダクション業務ガイド』の「ポータル Web アプリケーションのデプロイメント記述子」を参照してください。

表 4-1 に、netui-config.xml ファイル内の主なパフォーマンス チューニング要素を示します。

表 4-1 netui-config.xml
要素
注意
<customization>
ポータルがカスタマイズ可能かどうかを示すスイッチ。ポータルを (データベースではなく) .portal ファイルから構築し、ユーザがポータルをカスタマイズできないようにする場合は、enable 要素の値を false に設定することによりカスタマイズを無効にできる。ポータルでカスタマイズをサポートする場合には、カスタマイズを有効にする必要がある。ただし、この機能を使用すると、システムのパフォーマンスに影響することに注意。
<pageflow>
ポータルでのページフローの使用を有効または無効にするためのスイッチ。ポータルでページフローを使用しない場合は、無効にする。
<validation>
.pinc.portlet.portal などのポータル関連のファイルを検証するためのスイッチ。ポータル サーバをプロダクション設定で実行する場合は、検証を無効にする。
<entitlements>
ポータルが資格ポリシー (ユーザがデスクトップ、ブック、ページ、ポートレットなどのポータル リソースを表示できるようにするポリシー) を使用するように設定されていることを示すスイッチ。ポータルでセキュリティ ポリシーを使用しない場合は、資格を無効にする。ポータルでセキュリティ ポリシーを使用する場合は、資格を有効にし、<control-resource-cache-size> 属性の値を設定する。値には、ポータルで使用するデスクトップ数、ブック数、ページ数、ポートレット数、ボタン数 ([最大化]、[最小化]、[ヘルプ]、[編集] ボタン) の合計を指定する。メモリに制限がある場合は、デフォルト値を使用する。
詳細については、「資格のチューニング」を参照。資格を使用すると、WebLogic Portal のオーバーヘッドが増えることになる。
<localization>
ポータルが複数のロケールをサポートしていることを示すスイッチ。ポータルでサポートするロケールが 1 つしかない場合は、このスイッチを無効にする。

Web アプリケーション設定の変更

web.xml ファイルは、Web アプリケーションをコンフィグレーションします。変更を加えた後、変更を有効にするには Web アプリケーションを再デプロイする必要があります。Web 記述子ファイルの変更の詳細については、『プロダクション業務ガイド』の「ポータル Web アプリケーションのデプロイメント記述子」を参照してください。

web.xml ファイルは、ポータル Web アプリケーション ディレクトリの WEB-INF サブディレクトリにあります。

表 4-2 に、web.xml ファイルの主な要素を示します。

表 4-2 web.xml
パラメータ
注意
<createAnonymousProfile>
ポータルでユーザ プロファイル情報を保存または使用しない場合は、false を設定する。
<enableTrackedAnonymous>
匿名ユーザを追跡する場合を除いて、false に設定する。false に設定したときは、ポータルにログインしたユーザだけが追跡される。
<fireSessionLoginEvent>
キャンペーンまたは行動追跡を使用する場合を除き、false に設定する。true に設定すると、セッション ログイン イベントが生成される。
<trackedAnonymousVisitDuration>
この設定により、匿名ユーザの追跡をいつ開始するかを決定できる。匿名ユーザを追跡しない場合、この設定は無視される。匿名ユーザの追跡を開始するためのセッションでの待機時間が長いほど、サーバのパフォーマンスのオーバーヘッドが減少する。
<skipRequestPattern>
スキップする要求パターンを決定する。Web アプリケーションで表示される各ページには、多数の個別の要求が含まれている場合があり、その中のいくつかは TAU とは無関係である。たとえば、チュートリアル ポータルでは、画像、JavaScript、および CSS ファイルに対する要求が送信される。PortalServletFilter 処理でこれらの要求を無視すると、パフォーマンスが向上し、匿名ユーザの追跡が予想どおりに動作することが保証される。

 


WebLogic Server 設定の変更

WebLogic Server Console を使用して weblogic.xml ファイルを変更できます。記述子要素の変更方法の詳細については、『WebLogic Server Web アプリケーション、サーブレット、JSP の開発』の「weblogic.xml デプロイメント記述子の要素」を参照してください。

以下のパラメータを調整することで、パフォーマンスを向上させることができます。表 4-3 に、weblogic.xml ファイルの主なパフォーマンス チューニング要素を示します。

表 4-3 weblogic.xml
パラメータ
注意
<jspPageCheckSeconds>
JSP ファイルが変更されたために再コンパイルする必要があるかどうかをチェックする間隔を秒単位で設定する。変更されている場合は、依存関係もチェックされ、再帰的に再ロードされる。
0 に設定した場合は、要求されたときにページがチェックされる。このデフォルトは、開発環境向けに事前設定される。-1 に設定した場合、ページのチェックおよび再コンパイルは無効になる。
JSP がほとんど変更されることがないプロダクション環境では、pageCheckSeconds の値を -1 に変更してページのチェックと再コンパイルを無効にする。
<servletReloadCheckSecs>
サーブレット ファイルが変更されている場合に再コンパイルが必要どうかを WebLogic Server がチェックする間隔を秒単位で設定する。変更されている場合は、依存関係もチェックされ、再帰的に再ロードされる。
0 に設定すると、すべての要求でサーブレットがチェックされる。このデフォルトは、開発環境用に事前設定される。-1 に設定した場合、サーブレットのチェックと再コンパイルは無効になる。
サーブレットがほとんど変更されることがないプロダクション環境では、servletReloadCheckSecs の値を -1 に変更してサーブレットのチェックと再コンパイルを無効にする。
<PersistentStoreType>
手動で編集する必要がある。
永続ストアの方法を次のオプションのいずれかに設定する。
  • memory - 永続セッション ストレージを無効にする。
  • file - ファイルベースの永続性を使用する。
  • jdbc - データベースを使用して永続セッションを格納する。
  • replicated - memory と同じだが、セッション データはクラスタ化されたサーバ間でレプリケートされる。
  • cookie - すべてのセッション データがユーザのブラウザ内のクッキーに格納される。
  • replicated_if_clustered - Web アプリケーションがクラスタ サーバにデプロイされる場合、有効な PersistentStoreType がレプリケートされる。それ以外の場合は、memory がデフォルト。

注意 : クラスタ化されたプロダクション環境では、weblogic.xmlPersistentStoreType プロパティをコンフィグレーションして、セッション レプリケーションがクラスタ内全体で実行されるようにすることが重要です。そのためには、replicated_if_clustered 値を要素に設定します。この設定を行わないと、クラスタ内のサーバが停止した場合に、ユーザの状態に関する情報がフェイルオーバされなくなります。デフォルトでは、persistent-store-type が設定されていない場合、永続セッション ストレージは無効になります。また、この機能を有効にすると、システムのメモリ使用量が増加し、オーバーヘッドが増えることになります。

<Timeout Secs>
WebLogic Server がセッションをタイムアウトするまでの待ち時間を秒単位で設定する (秒数)。
最小値は 1、デフォルト値は 3600、最大値は MAX_VALUE で指定した整数値。
トラフィックの多いサイトでは、セッションのタイムアウトを調整すると、アプリケーションの動作を最適化できる。ブラウザ クライアントでいつでもセッションを終了できるようにする必要がある場合でも、ユーザがサイトを離れるか、ユーザのセッションがタイムアウトになれば、サーバに接続する必要はなくなる。
この属性は、web.xml の session-timeout 要素 (分単位で定義) によってオーバーライドできる。
<debug>
debug プロパティを false に設定して、デバッグ機能をオフにする。
<precompile>
precompile を true に設定することにより、Web アプリケーションで JSP をプリコンパイルして、ページの最初の呼び出し時にページの表示に必要な時間を短縮する。
<precompile-continue>
JSP でコンパイルを実行しない場合、Web アプリケーションのデプロイメントが停止されるため、<precompile-continue> も true に設定する。

注意 : weblogic.appc を使用して、JSP をプリコンパイルすることもできます。詳細については、WebLogic Server ドキュメントを参照してください。

 


WebLogic Portal のキャッシュ設定

WebLogic Portal Administration Console を使用して、p13n-cache-config.xml ファイルを変更できます。キャッシュの変更方法の詳細、および WebLogic Portal のキャッシュの一覧については、『キャッシュ リファレンス ガイド』の「WebLogic Portal のキャッシュ リファレンス」を参照してください。

 


ポートレット カテゴリのキャッシング

ポートレット カテゴリの情報は自動的にキャッシュされるので、パフォーマンスが向上します。何らかの理由でポートレット カテゴリをキャッシュしない場合は、-enable.portlet.category.caches=false システム プロパティを設定してこのキャッシュを無効にすることができます。


ページの先頭       前  次