前へ     目次     索引     DocHome     次へ     
iPlanet Application Server パフォーマンスおよびチューニングガイド



第 8 章   パフォーマンス向上のための一般的なガイドライン


パフォーマンスを向上させるために、次の一般的なガイドラインがあります。

  • クラスタが 1 つではないネットワークで複数の iPlanetTM Application Server がインストールされている場合、ネットワークのマルチキャストサーバホストアドレスとポート番号を変更すると、更新の受信を減らし、レジストリへの書き込みを避けることができます。

  • Oracle 固有の JDBC ドライバを使用している場合は、OPARSE の呼び出し中に SQL ステートメントの解析ができるように、iasenv.ksh ファイル内に環境変数の IAS_OPARSE_NODEFER を設定します。この変数が設定されていないと、ステートメントの解析が oexec の実行まで行われません。

    違法な SQL ステートメントが渡されると、Oravle 8.1.6 とともに使用されている iPlanet Application Server のコアダンプが発生します。この変数を設定すると、コアダンプの発生を防ぐことができます。この設定は開発環境に対してだけ奨励するもので、運用環境に対しては奨励しません。この機能は、iPlanet Application Server, Enterprise Edition 6.0, SP3 から利用できます。



EJB のパフォーマンス向上のためのガイドライン

EJB のパフォーマンスの向上を促進するため、次のガイドラインがあります。

  • セッションフェールオーバーが必要なければ、アプリケーションの DSync をオフにします。つまり、可能であれば分散セッションではなくライトセッションを使い、DSync を使ってほかのマシンにセッションの変更を伝えなくても済むようにします。

  • セッションフェールオーバーは必要でも、マシン全体の障害に対する保護は必要ない場合は、複数の KJS プロセスがあることを確認して Dsync-Local セッションを使います。その後、セッションフェールオーバーは、iPlanet Application Server インスタンス内部のすべての KJS プロセスで利用できるようになります。ただし、マシンの境界を越えるセッションフェールオーバーは提供されません。KJS がクラッシュしても、少なくともセッション情報は残ります。

  • セッションを小さくします。さまざまな検証の結果、ユーザセッションあたり 4 KB になりました。ただし、iPlanet Application Server では、パフォーマンスに影響を与えるのは DSynch プロセスであり、同期チャンクのサイズではないようです。このため、ユーザセッションサイズを小さくするよりも、クラスタを小さくして 4 インスタンス以下にする方が重要である可能性があります。

  • 分散セッションを使う場合は、セッションに格納するものを単純化します。iPlanet Application Server セッションサービスは、簡単な名前と値の組み合わせを使うように設計されています。

  • 分散セッション環境では、セッション情報を移動するために直列化や直列化解除を行う必要があります。このため、大きくて複雑なオブジェクトを作ると移動に時間がかかります。

  • セッションを削除するために HttpSession タイムアウトに頼らないでください。できるだけ HttpSession.invalidate() メソッドを使い、手動で削除します。

  • HttpSession タイムアウトをできるだけ小さく設定し、必要のないコンテナのセッションを早く削除できるようにします。

  • 状態のある セッション EJB へのハンドルが Servelet によって HttpSessions に格納されていたり、JSP がハンドルにアクセスしている場合は、EJB のセッションタイムアウトを HtttpSession タイムアウトに近い値に設定する必要があります。

    状態のあるセッション EJB に対するデフォルトのセッションタイムアウトは、14400 秒 (4 時間) です。これを適切な値に変更します。これにより、KJS メモリが増えるのを抑え、不要になった EJB インスタンスが不必要に不活性化されるのを避けることができます。

  • JSP ではセッションオブジェクトが自動的に作成されるので、HttpSession を明示的に使っていない場合は不要な HttpSession オブジェクトを作成していることになります。これを防ぐには、JSP ページディレクティブ <%@session=false %> を JSP に追加します。


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最新更新日 2002 年 3 月 6 日