Sun ONE ロゴ      前へ      目次      索引      次へ     

Sun ONE Portal Server 6.2 インストールガイド

第 4 章
Sun ONE Portal Server のチューニング

この章では、SunTM ONE Portal Server のパフォーマンスおよび容量を最適化する設定パラメータについて説明します。Sun ONE Portal Serverに組み込まれている perftune スクリプト (portal-server-install-root/SUNWps/bin ディレクトリ) は、この章で説明されているチューニングプロセスのほとんどを自動的に実行します。


はじめに

perftune スクリプトは次のとおりです。


チューニング方法

perftune スクリプトを実行する場合、最適稼動および最大稼動と呼ばれる 2 つの標準的な使用シナリオに対してパフォーマンスチューニングオプションが提供されます。これらのシナリオは、Sun ONE Portal Server 使用パターンの大部分を処理するように定義されています。これらの配備シナリオには、次のような特徴があります。

たとえば、企業ポータルに対するビジネスのピーク時には、企業の多数の雇用者が最大稼動環境で同時にポータルに接続します。


メモリ割り当て

JVM ごとに割り当てる大容量メモリは、次の 2 つのパラメータによって決定されます。

  1. CPU ごとの物理メモリの最大サイズ。E45* クラスのマシンでは、約 1G バイト
  2. パフォーマンスおよびスケーラビリティを得るために推奨されるインスタンス数対 CPU は、Sun ONE Portal Server の最適なパフォーマンスには、従来どおり 1:1 (1 CPU あたり 1 インスタンス) です。最大稼動を得るためには、比率 1:2 (2 CPU あたり 1 インスタンス) が適しており、これによって JVM ヒープサイズを最大 2G バイトにできます。

チューニングを実行する JVM パフォーマンスマトリックスでは、スループット、フットプリント、およびプロンプトネスは、次のように定義されます。2 番目、3 番目、4 番目の列は、それぞれ、最適稼動と最大稼動環境のスループット、フットプリント、プロンプトネスの領域のパフォーマンスレベルを表します。

 

スループット

フットプリント

プロンプトネス

最適稼動

高い

低クリティカル

高い

最大稼動

低クリティカル

低い

低クリティカル

説明 :


チューニング手順

perftune スクリプトを実行する場合、次のチューニングの推奨事項を実行するかどうかを指定できます。推奨事項を注意深く検討し、perftune スクリプトを使用して、推奨されるこれらの変更を実行します。

perftune スクリプトは、次の手順で行います。

  1. マシンへログインし、スーパーユーザーになります。
  2. このスクリプトを実行するには、root のアクセス権が必要です。

  3. ディレクトリを portal-server-install-root/SUNWps/bin に変更します。
  4. 次を入力します。
  5. ./perftune.

チューニングプロセスの間、perftune スクリプトがサーバーの開始および停止の処理を実行します。このスクリプトにより、filename-orig-date-pid 形式で、修正ファイルのバックアップコピーが作成されます。スクリプトを実行したあと、チューニングの変更を反映させるため、システムを再起動します。

Solaris のチューニング

カーネルのチューニング

/etc/system ファイルに対して、スクリプトは次の設定を追加します。

TCP パラメータのチューニング

/dev/tcp で TCP パラメータ (カッコ内) への変更に含まれるのは次のとおりです。

システムを再起動するときに ndd コマンドを自動的に実行するため、perftune スクリプトが S99ndds_tcp ファイルを /etc/rc2.d/ ディレクトリにコピーします。

Sun ONE Identity Server のチューニング

Directory Server 接続プール

portal-server-install-root/SUNWam/config/ums/serverconfig.xml ファイルの変更内容は次のとおりです。

LDAP 認証サービス

LDAP 認証

サービス設定パラメータ

portal-server-install-root/SUNWam/lib/AMConfig.properties ファイルの変更内容は次のとおりです。

Sun ONE Portal Server 6.2 では /opt/SUNWam/lib/AMConfig.properties ファイルに次のスレッドプールプロパティが指定されています。

Sun ONE Directory Server のチューニング

SunTM ONEDirectory Server を他のアプリケーションと共有する場合、パラメータが他のアプリケーションのパラメータのチューニングと衝突しないことを確認する必要が生じることがあります。

/tmp/slapd-DSinstance1 には、十分な仮想メモリスペースを与える必要があり、ページングを避けるために、データベースキャッシングに割り当てた分を含む使用メモリの総容量は、物理メモリサイズを超過してはなりません。少なくとも、slapd プロセス自体に使用される nsslapd-dbcachesize + nsslapd-cachememsize + fixed memory の累積値は、プロセスアドレス空間の 4G バイトを超過できません。Nsslapd は 32 ビットのアプリケーションです。

リソースプール (接続およびスレッド) のサイジングに関しては、Sun ONE Directory Server によって、オペレーションの検索タイプに対して 15 前後の同時レベルで、最良のパフォーマンスが提供されます。

perftune スクリプトは、ns-slapd スレッディング、db cache、およびデータベースファイルシステムマッピングを /var/opt/mps/serverroot/slapd-hostname/config/dse.ldif ファイルで次のようにチューニングします。

Sun ONE Web Server 6.0 のチューニング

次に、perftune スクリプトによる JVM のチューニングについて説明します。最適稼動および最大稼動環境での Sun ONE Portal Server のパフォーマンスのために SunTM ONE Web Server をチューニングすることが可能です。

最適稼動

ヒープサイズ

ヒープサイズは、注目すべき重要なオプションです。ここでのパラメータの詳細については、Sun ONE Web Server のチューニングマニュアルを参照してください。perftune スクリプトは次のとおりです。

  1. web-server-install-root/SUNWwbsvr/https-hostname/config に配備されている magnus.conf に次のように指定します。
    • RqThrottle 256
    • StackSize 393216
    • ThreadIncrement 20
    • ConnQueueSize 20000
  2. web-server-install-root//https-/hostname//config に配備されている web-apps.xml ファイルに、次のように指定します (修正箇所は太字)。
    • web-app タグの上に次のセッションマネージャを定義する
    •       <session-manager class="com.iplanet.server.http.session.IWSSessionManager>

                 <init-param>

                    <param-name>maxSessions</param-name>

                    <param-value>50000</param-value>

                 </init-param>

                 <init-param>

                    <param-name>timeOut</param-name>

                    <param-value>360</param-value>

                 </init-param>

                 <init-param>

                    <param-name>reapInterval</param-name>

                    <param-value>180</param-value>

                 </init-param>

            </session-manager>

    • 予定された同時セッション数がデフォルト値を超えた場合、maxSession (デフォルトは 50000) を増やす
    • クラスのリロード間隔を 5 分 (デフォルトは 30 秒) に定義する
    •       <class-loader classpath="[...]" delegate="false" reload-interval="300"/>

  3. JVM をチューニングするために web-server-install-root//https-/hostname//config に配備されている server.xml ファイルに次のように指定します。
    • jvm.minHeapSize=1073741824
    • jvm.maxHeapSize=1073741824
    • jvm.option=-Xrs
    • jvm.option=-server
    • jvm.option=-XX:MaxPermSize=128M
    • jvm.option=-XX:PermSize=128M
    • jvm.option=-XX:+OverrideDefaultLibthread
    • jvm.option=-XX:MaxNewSize=256M
    • jvm.option=-XX:NewSize=256M
  4. 代替の T2 libthread に対して、start-jvm ファイルに次のように指定します。
  5. NSES_JRE_RUNTIME_LIBPATH=/usr/lib/lwp:${NSES_JRE}/lib/sparc/server: ${NSES_JRE}/lib/sparc:${NSES_JRE}/lib/sparc/classic:${NSES_JRE}/lib /sparc/native_threads;export NSES_JRE_RUNTIME_LIBPATH

最大稼動

  1. web-server-install-root/SUNWwbsvr/https-hostname/config に配備されている magnus.conf に次のように指定します。
    • RqThrottle 256
    • StackSize 131072
  2. web-server-install-root//https-/hostname//config に配備されている web-apps.xml ファイルに、次のように指定します。
    • web-app タグの上に次のようにセッションマネージャを定義する
    •        <session-manager class="com.iplanet.server.http.session.IWSSessionManager>

                 <init-param>

                     <param-name>maxSessions</param-name>

                     <param-value>50000</param-value>

                 </init-param>

                 <init-param>

                     <param-name>timeOut</param-name>

                     <param-value>360</param-value>

                 </init-param>

                 <init-param>

                     <param-name>reapInterval</param-name>

                     <param-value>180</param-value>

                 </init-param>

             </session-manager>

    • 予定された同時セッション数がデフォルト値を超過する場合、maxSession (デフォルトは 50000) を増やす
  3. JVM をチューニングするために web-server-install-root//https-/hostname//config に配備されている server.xml ファイルに次のように指定します。
  4. jvm.minHeapSize=1073741824

    jvm.maxHeapSize=2147483648

    jvm.option=-Xrs

    jvm.option=-server

    jvm.option=-XincGC

    jvm.option=-XX:+UseLWPSynchronization

    jvm.option=-XX:MaxPermSize=128M

    jvm.option=-XX:PermSize=128M

    jvm.option=-XX:+OverrideDefaultLibthread

    jvm.option=-XX:MaxNewSize=256M

    jvm.option=-XX:NewSize=256M

  5. 代替の T2 libthread に対して、start-jvm ファイルに次のように指定します。
  6. NSES_JRE_RUNTIME_LIBPATH=/usr/lib/lwp:${NSES_JRE}/lib/sparc/server: ${NSES_JRE}/lib/sparc:${NSES_JRE}/lib/sparc/classic:${NSES_JRE}/lib /sparc/native_threads;export NSES_JRE_RUNTIME_LIBPATH


    JVM メモリのヒープサイズは、最小 1G バイト、最大 2G バイトです。ヤ ングジェネレーションは最適稼動に比例して小さくなるため、接続ユー ザーは、より多くのスペースを利用できます。

    インクリメンタル (または Train) GC が最大稼動により適しているのは、 GC の速度より、オールドジェネレーションのサイズが大きいことによる 間隔の長さのほうが影響が大きいためです。



アプリケーションサーバーの Web コンテナ上に Sun ONE Portal Server が 配備された場合、setup スクリプトは、Sun ONE Portal Server がインス トールされたアプリケーションサーバーインスタンスの JVM 最大ヒープサ イズと最小ヒープサイズを128M バイトに変更します。最大および最小 JVM ヒープサイズを使用するには、Application Server の管理コンソール に移動し、適切な最小および最大 JVM ヒープサイズを設定します。


Sun ONE Application Server 7.0 のチューニング

Sun ONE Application Server に Sun ONE Portal Server を配備するとき、アプリケーションサーバーインスタンスの最小および最大ヒープサイズが設定されます。

Sun ONE Application Server 7.0 の推奨 JVM オプションは、J2 SDK 1.4.1_01 および 1.4.2 に対して、次のとおりです。

サーバーのマシンの物理メモリが 4G バイトしかない場合、-Xms3072M の代わりに -Xms2048M が使用されます。-Xms3072M が設定されていると、JVM は起動しません。これらの JVM オプションは、perftune スクリプトによって設定された JVM オプションを上書きします。

JVM パラメータのフルセットは、次のとおりです。

ゲートウェイの信頼性のための Sun ONE Application Server 追加パラメータの設定

Secure Remote Access を使用して最適パフォーマンスを実現するため、次のように実装を設定します。

  1. identity-server-install-root/SUNWam/lib/configAmConfig.properties ファイルを変更して、アプリケーションサーバーの通知スレッドプールサイズを設定します。ファイルの先頭には次の行があります。
  2. Sun, Sun Microsystems, the Sun logo, and iPlanet

    * are trademarks or registered trademarks of Sun Microsystems,

    * in the United States and other countries.

    次の行を追加してスレッドプールサイズを 200 に設定します。

    /*Notification Thread Pool Size*/ com.iplanet.am.notification.threadpool.size=200

  3. インストール中に入力したユーザー名 amadmin とパスワードを使用して Portal Server の管理コンソールにログインします。
  4. 「サービス設定」タブを選択します。
  5. 「SRA 設定」の「ゲートウェイ」を選択します。
  6. default をクリックして「ゲートウェイプロファイルを編集」ページを開きます。
  7. 「HTTP 接続を有効」チェックボックスをオンにします。
  8. 「HTTP ポート」フィールドに 80 と入力し、「保存」をクリックします。
  9. ブラウザの Web アドレスフィールドに http://fullservername:port と入力することによって、Sun ONE Application Server 管理コンソールに管理者 (admin) としてログインします。デフォルトのポートは 4848 です。インストール時に入力したパスワードを使用します。
  10. Identity Server をインストールしたアプリケーションサーバーインスタンスを選択します。
  11. 「JVM 設定」をクリックし、「JVM オプション」をクリックします。
  12. 「JVM オプション」フィールドに次の文字列を入力します。
  13. -Dhttp.keepAlive=false

  14. 「追加」をクリックし、「保存」をクリックします。
  15. Portal Server をインストールするアプリケーションサーバーインスタンスを選択します。
  16. 右区画に、設定が変更されたことが示されます。

  17. 「変更の適用」をクリックします。
  18. 「再起動」をクリックします。
  19. アプリケーションサーバーが自動的に再起動します。
  20. ゲートウェイがインストールされたサーバーの /opt/SUNWps/bin/perf ディレクトリに移動し、次のように入力して、Secure Remote Access のチューニングパラメータを設定するスクリプトを実行します。
  21. ./srapperftune

  22. identity-server-install-root/SUNWam/lib/configAmConfig.properties ファイルを変更して、ゲートウェイの通知スレッドプールサイズを設定します。ファイルの先頭には次の行があります。
  23. Sun, Sun Microsystems, the Sun logo, and iPlanet

    * are trademarks or registered trademarks of Sun Microsystems,

    * in the United States and other countries.

    次の行を追加してスレッドプールサイズを 200 に設定します。

    /*Notification Thread Pool Size*/ com.iplanet.am.notification.threadpool.size=200

  24. /opt/SUNWps/bin ディレクトリに移動し、ゲートウェイファイルを変更して -Dhttp.keepAlive オプションを false に設定し、-Xms および -Xmx ヒープサイズオプションを増やします。
  25. デフォルトでは、srapperftune スクリプトがヒープサイズオプションを 1024 に設定します。CMD 設定オプションを定義する行では、-Xms と -Xmx オプションに定義されたデフォルト値を 2048 に増やし、文字列 -Dhttp.keepAlive=false を追加します。たとえば、正しい行は次のようになります。

    CMD="$JAVA_HOME/bin/java -server -Xms2048M -Xmx2048M -XX:+OverrideDefaultLibthread -XX:ThreadStackSize=128 -XX:MaxPermSize=128M -XX:PermSize=128M -XX:MaxNewSize=256M -XX:NewSize=256M -Dhttp.keepAlive=false -classpath ${CLASSPATH} $DEFINES $PROXY_DEFINES $INSTANCE_DEFINES com.sun.portal.netlet.eproxy.EProxy"

  26. /etc/opt/SUNWps/platform.conf.default ファイルを変更し、次のように gateway.protocol パラメータを http に設定し、gateway.port パラメータをポート 80 に設定します。
  27. gateway.protocol=http

    gateway.port=80

  28. 次のコマンドを入力することによって、ゲートウェイを再起動し、変更を有効にします。
  29. portal-server-install-root/SUNWps/bin/gateway -n default start

  30. ここで default は、インストール中に作成されたデフォルトゲートウェイプロファイルです。

Sun ONE Portal Serverデスクトップのチューニング

最適稼動

最大稼動

プロバイダを経由してコンテンツを作成するスレッドプールのサイズを指定するには、caller パラメータが使用されます。caller プールはサイズ 0 に初期化されます。項目は、使用されるときや返されるときにプールに追加されます。caller プールは、非常に大きなサイズに拡張することができますが、通常の場合は、ユーザーのポータルデスクトップ上のチャネルの数と同じ大きさにしかなりません。同じ sid の同時スレッドが複数ある場合、プールは、n を同じ sid の同時スレッドの数、m を特定の sid のポータルデスクトップのチャネル数として、n * m で表されます。

perftune スクリプトは、/etc/opt/SUNWps/desktop/desktopconfig.properties ファイルの Provider Caller Resource Pooling を最適化するために次のパラメータを変更します。

長時間テストを実行する際、ポータルデスクトップの caller スレッドの発生による不要なメモリの増大を最小化するには、これらのプロパティ (templateScanInterval を除く) を元のデフォルト値に戻す必要があります。

これらのプロパティを次のように変更します。



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.