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

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

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

Web アプリケーションの良好なパフォーマンスを実現するために実行できる重要な対策の 1 つは、適切な設計を行うことです。ポータルの設計の詳細については、「最適なパフォーマンスを得るためのポータルの設計」を参照してください。

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


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

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

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


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

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

各ポータル アプリケーションは、ユニークなコンフィグレーション ファイルを使用して、パフォーマンスに影響を及ぼす可能性があるパラメータをカスタマイズします。ポータルのパフォーマンスに対して重要な 4 つのコンフィグレーション ファイルがあります。

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

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

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

変更を行った後、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 とは無関係である。たとえば、チュートリアル ポータルでは、画像、java スクリプト、および 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>
サーブレット ファイルが変更されたために再コンパイルする必要があるかどうかをチェックする間隔を秒単位で設定する。変更されている場合は、依存関係もチェックされ、再帰的に再ロードされる。
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>
precompiletrue に設定することにより、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 を設定してこのキャッシュをオフにすることができます。


  ページの先頭       前  次