前へ 目次 索引 次へ |
Sun ONE Portal Server 6.0 インストールガイド |
第 5 章 Sun ONE Portal Server のチューニング
この章では、SunTM ONE Portal Server のパフォーマンスおよび容量を最適化する設定パラメータについて説明します。 Sun ONE Portal Server に組み込まれている perftune スクリプト (BaseDir/SUNWps/bin ディレクトリ内) は、この章で説明するチューニングプロセスのほとんどを自動的に実行します。
はじめに
perftune スクリプトには次の機能があります。
Solaris のカーネルと TCP の設定をチューニングする。Solaris のチューニングを参照してください。
Sun ONE Web Server 6.0 のチューニング :
BaseDir/SUNWam/servers/WebServerInstance/config/magnus.conf
BaseDir/SUNWam/servers/WebServerInstance/config/jvm12.conf
BaseDir/SUNWam/servers/WebServerInstance/config/web-apps.xml
BaseDir/SUNWam/servers/WebServerInstance/config/server.xml
BaseDir/SUNWam/servers/https-admserv/start-jvm
Sun ONE Directory Server のチューニング :
/usr/ldap/slapd-invierno/config/dse.ldif
iPlanet Directory Server Access Management Edition のチューニング :
Sun ONE Portal Server Desktop のチューニング
/etc/opt/SUNWps/desktop/desktopconfig.properties
Sun ONE Portal Server Desktop サービス、およびiPlanet Directory Server Access Management Edition の認証サービスのプロパティを変更する
チューニング方法
perftune スクリプトを実行する場合、最適稼動および最大稼動と呼ばれる 2 つの標準的な使用シナリオに対してパフォーマンスチューニングオプションが提供されます。 これらのシナリオは、Sun ONE Portal Server 使用パターンの大部分を処理するように定義されています。 これらの配備シナリオには、次のような特徴があります。
たとえば、企業ポータルに対するビジネスのピーク時には、多数の企業の雇用者が最大稼動環境で同時にポータルに接続します。
メモリー割り当て
JVM ごとに割り当てる大容量メモリーは、次の 2 つのパラメータによって決定されます。
CPU ごとの物理メモリーの最大サイズ。 E45* クラスのマシンでは、約 1 G バイト
パフォーマンスおよびスケーラビリティを得るために推奨される CPU 対インスタンス数は、Sun ONE Portal Server の最適なパフォーマンスには、従来どおり 1:1 (1 CPU 対 1 インスタンス) です。 最大稼動を得るためには、比率 1:2 (2 CPU 対 1 インスタンス) が適していて、これにより JVM ヒープサイズを最大 2 G バイトにできます。 チューニングを実行する JVM パフォーマンスマトリックスでは、スループット、フットプリント、およびプロンプトネスは、次のように定義されます。
スループット
フットプリント
プロンプトネス
最適稼動 高い
低クリティカル
高い
最大稼動 低クリティカル
低い
低クリティカル
チューニング手順
perftune スクリプトを実行する場合、次のチューニングの推奨事項を実行するかどうかを指定できます。 推奨事項を注意深く検討し、perftune スクリプトを使用して、推奨されるこれらの変更を実行します。
マシンへログインし、スーパーユーザになります。
このスクリプトを実行するには、root のアクセス権が必要です。
ディレクトリを BaseDir/SUNWps/bin に変更します。 チューニングプロセスの間、perftune スクリプトがサーバの開始および停止の操作を実行します。 このスクリプトにより、filename-orig-date-pid 形式で、修正ファイルのバックアップコピーが作成されます。 スクリプトを実行したあと、チューニングの変更を反映させるため、システムを再起動します。
Solaris のチューニング
カーネルのチューニング
/etc/system ファイルに対して、スクリプトは次の設定を追加します。
ファイル記述子制限 - オープンファイル数制限
ストリームキューサイズ - あて先のストリームキューが QFULL を生成する前の syncq (メッセージ数) の深さ
set sq_max_size=0
TCP 接続ハッシュサイズ (<= ファイル記述子)
set tcp:tcp_conn_hash_size=8192
TCP パラメータのチューニング
/dev/tcp で TCP パラメータ (カッコ内) への変更に含まれるのは次のとおりです。
TCP 時間待機間隔 (tcp_time_wait_interval) - 接続の終了後に TCP ソケットが TIME_WAIT 状態の期間を 60000 に設定する
TCP 終了待機 2 間隔 (tcp_fin_wait_2_flush_interval) - 接続の終了後にTCP ソケットが FIN_WAIT_2 状態の期間を 60000 に設定する
TCP 最大接続サイズ (tcp_conn_req_max_q) - 完全に確立された接続の最大値を 8192 に設定する
TCP リストキュー (tcp_conn_req_max_q0) - 確立されていない接続を含めたキューのサイズを 8192 に設定する
TCP パケットドロップ時間 (tcp_ip_abort_interval) - パケットがドロップする前の期間を 60000 に設定する
TCP キープアライブ間隔 (tcp_keepalive_interval) - 90000 に設定する
TCP 最大再送間隔 (tcp_rexmit_interval_max) - 6000 に設定する
TCP 最小再送間隔 (tcp_rexmit_interval_min) - 3000 に設定する
TCP 初期再送間隔 (tcp_rexmit_interval_initial) - 500 に設定する
TCP 最小匿名ポート (tcp_smallest_anon_port) - 1024 に設定する
スロースタートアルゴリズムの TCP 初期パケット (tcp_slow_start_initial) - 2 に設定する
TCP 送信/受信バッファサイズ制限 (tcp_xmit_hiwat and tcp_recv_hiwat) - それぞれ 32768 に設定する システムを再起動する際、ndd コマンドを自動的に実行するには、perftune スクリプトが S99ndds_tcp ファイルを /etc/rc2.d/ ディレクトリにコピーします。
iPlanet Directory Server Access Management Edition のチューニング
Directory Server 接続プール
BaseDir/SUNWam/config/ums/serverconfig.xml ファイルの変更内容は次のとおりです。
LDAP 認証サービス
LDAP 接続プールのデフォルトサイズ (最大 : 最小) を 10:90 に更新する
LDAP 認証
「DN to Start User Search (ユーザ検索を開始する DN)」を ou=people,o=<organization>,o=isp に指定する
iPlanet Directory Server Access Management Edition サービス設定パラメータ
BaseDir/SUNWam/lib/AMConfig.properties ファイルの変更内容は次のとおりです。
com.iplanet.am.logstatus を INACTIVE に指定する
同時に実行するセッションの予測数がこの値を超過する場合、com.iplanet.am.session.maxSession (デフォルトで 50000) を増やす
Sun ONE Directory Server のチューニング
SunTM ONE ディレクトリサーバを他のアプリケーションと共有する場合、パラメータが他のアプリケーションのパラメータと衝突しないようにチューニングし、確認する必要があります。
/tmp/slapd-dsame1 には、十分な仮想メモリースペースを提供する必要があります。また、ページングを避けるために、データベースキャッシングに割り当てた分を含む使用メモリーの総容量は、物理メモリーサイズを超過してはなりません。どのイベントでも、slapd プロセス自体に使用される nsslapd-dbcachesize + nsslapd-cachememsize + fixed memory の累積値は、プロセスアドレススペースの 4 G バイトを超過できません。 Nslapd は 32 ビットのアプリケーションです。
リソースプール (接続およびスレッド) のサイジングに関しては、Sun ONE Directory Server によって、オペレーションの検索タイプに対して 15 前後の同時レベルで最良のパフォーマンスが提供されます。
perftune スクリプトは、ns-slapd スレッディング、db cache、および/usr/ldap/slapd-hostname/config/dse.ldif ファイルにマッピングするデータベースファイルシステムを次のようにチューニングします。
dn: cn=config LDAP エントリ の下に入力する項目
nsslapd-threadnumber 行を nThreads に追加する。 プロファイル変更 (LDAP の書き込み) が想定される場合を除き、ほとんどの場合はデフォルト値 (30) の使用が適切であり、スクリプトには次の式が適用される。
nThreads = 30 for 1 CPU, nThreads = 45 for 2 CPUs, nThreads = 60 for 3 CPUs, nThreads = 90 for 4 CPUs.
nsslapd-accesslog-logging-enabled をオフに指定し、アクセスログを使用不可にする
dn: cn=config,cn=ldbm database,cn=plugins,cn=config LDAP エントリの下に入力する項目
nsslapd-db-home-directory 行を /tmp/slapd-dsame1 に追加する
nsslapd-maxthreadsperconn 行を 20 に変更する
行 nsslapd-dbcachesize を newSize に変更する。ここでは、newSize = 1.2 *が /usr/ldap/slapd-hostname/db/userRoot の下に位置するすべての db3 ファイルのサイズである
以下の dn: cn=userRoot,cn=ldbm database,cn=plugins,cn=config LDAP エントリは、行 nsslapd-cachememsize を newSize へ変更する。ここでは、id2entry.db3 のサイズは newSize = 3 * である
注 Sun ONE Directory Server を手動でチューニングする場合、これらのパラメータをチューニングする前にSun ONE Directory Server を停止する必要があります。
Sun ONE Web Server 6.0 のチューニング
次に、perftune スクリプトが提供する JVM のチューニングについて説明します。JVM のチューニングによって、最適稼動、および最大稼動環境において SunTM ONE Web Server をSun ONE Portal Server パフォーマンスにチューニングするよう支援します。
最適稼動
ヒープサイズ
ヒープサイズは、注目すべき重要なオプションです。 ここでのパラメータの詳細については、Sun ONE Web Server のチューニングマニュアルを参照してください。 perftune スクリプトは次のとおりです。
BaseDir/SUNWam/servers/https-hostname/config に配置されている magnus.conf に、次のように指定します。
BaseDir/SUNWam/servers/https-hostname/config に配置されている web-apps.xml に、次のように指定します (修正箇所は太字)。
web-app タグの上に次のセッションマネージャを定義する
<session-manager class="com.iplanet.server.http.session.IWSSessionManager>
<param-name>maxSessions</param-name>
<param-value>50000</param-value>
<param-name>timeOut</param-name>
<param-value>360</param-value>
<param-name>reapInterval</param-name>
<param-value>180</param-value>
予定された同時セッション数がこの値を超えた場合、maxSession (デフォルトは 50000) を増やす
クラスのリロード間隔を 5 分 (デフォルトは 30 秒) に定義する
<class-loader classpath="[...]" delegate="false" reload-interval="300"/>
JVM のチューニングをするために BaseDir/SUNWam/servers/https-hostname/config にある jvm12.conf ファイルに次のように指定します。
jvm.minHeapSize=1073741824
jvm.option=-XX:MaxPermSize=128M
jvm.option=-XX:+OverrideDefaultLibthread
jvm.option=-XX:MaxNewSize=256M
代替の T2 libthread に対して、start-jvm ファイルに次のように指定します。
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
最大稼動
BaseDir/SUNWam/servers/https-hostname/config に格納されている magnus.conf に次のように指定します。
BaseDir/SUNWam/servers/https-hostname/config に格納されている web-apps.xml ファイルに、次のように指定します。
web-app タグの上に次のようにセッションマネージャを定義する
<session-manager class="com.iplanet.server.http.session.IWSSessionManager>
<param-name>maxSessions</param-name>
<param-value>50000</param-value>
<param-name>timeOut</param-name>
<param-value>360</param-value>
<param-name>reapInterval</param-name>
<param-value>180</param-value>
予定された同時セッション数がこの値を超過する場合、maxSession (デフォルトは 50000) を増やす
JVM のチューニングのために、BaseDir/SUNWam/servers/https-hostname/config にある jvm12.conf ファイルに、次のように指定します。
jvm.option=-XX:+UseLWPSynchronization
jvm.option=-XX:MaxPermSize=128M
jvm.option=-XX:+OverrideDefaultLibthread
jvm.option=-XX:MaxNewSize=256M
start-jvmファイルで、代替の T2 libthread に対して次のように指定します。
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 メモリーのヒープサイズは、最小 1 G バイト、最大 2 G バイトです。 ヤングジェネレーションは最適稼動に比例して小さくなるため、接続ユーザは、より多くのスペースを利用できます。
インクリメンタル (または Train) GC が最大稼動により適しているのは、GC の速度より、オールドジェネレーションのサイズが大きいことによる間隔の長さのほうが影響が大きいためです。
Sun ONE Portal Server Desktop のチューニング
最適稼動
Desktop セッションを最適化するには、Enable XML Parsing Validation を使用不可にする Desktop セッションは、iPlanet Directory Server Access Management Edition SSOToken セッションとは異なり、接続ができません。 iPlanet Directory Server Access Management Edition セッションの期限が切れる前に Desktop セッションがタイムアウトになる場合、照会があると、Desktop は Desktop セッションを透過的に再構築します。 Desktop セッションのアイドルタイムアウトを減らすことによって、短いユーザセッションを特徴とする最適稼動を想定して、セッションオブジェクトに使用されるメモリーが開放されます。
Provider Caller Resource Pooling を最適化するには、/etc/opt/SUNWps/desktop/desktopconfig.properties ファイルの指定を次のように変更する
最大稼動
Provider Caller Resource Pooling を最適化するには、/etc/opt/SUNWps/desktop/desktopconfig.propertiesファイルの指定を次のように変更する
前へ 目次 索引 次へ
Copyright 2002 Sun Microsystems, Inc. All rights reserved.
最終更新日 2002 年 8 月 29 日