Sun Java System Portal Server 6 2005Q4 管理指南 |
第 19 章
調校 Portal Server本章描述最佳化 Sun Java System Portal Server 效能與容量的配置參數。與 Portal Server 組合的 perftune 程序檔 (在 PortalServer-base/SUNWps/bin 目錄中) 能將本章所討論的大部分調校程序自動化。
此版次的 perftune 程序檔更新內容包括:
簡介perftune 程序檔:
- 調校 Solaris Operating System Kernel 與 TCP 設定 (請參閱 Solaris 調校)
- 作為下面調校的一部分,修改下列配置檔案:
- 修改 Portal Server Desktop 服務與 Sun Java System Access Manager 認證服務的特性。
調校指示若要執行 perftune 程序檔
在調校程序期間,perftune 程序檔會執行伺服器的啟動與停止作業。它會以 filename-orig-date-pid 格式建立修改檔案的備份副本。在執行程序檔之後,重新啟動系統讓調校變更生效。
Solaris 調校
核心調校
對於 /etc/system 檔案,程序檔附加下列設定項目:
原始檔案 (/etc/system) 會複製到下列格式的檔案中:
/etc/system-orig-’$DATE+%y%m%d’-$$
TCP 參數調校
在 /dev/tcp 中 TCP 參數 (顯示於圓括號內) 的變更包括:
- TCP 時間等待間隔 (tcp_time_wait_interval) — TCP 插槽維持 TIME_WAIT 狀態的時間量 (在連線關閉後) 設定為 60000
- TCP Fin 等待 2 間隔 (tcp_fin_wait_2_flush_interval) — TCP 插槽維持 FIN_WAIT_2 狀態的時間量 (在連線關閉後) 設定為 67500
- 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 與 tcp_recv_hiwat) — 分別設定為 32768
為了當系統重新開機時自動執行 ndd 指令,perftune 程序檔會將 S99ndds_tcp 檔案複製到 /etc/rc2.d/ 目錄。
Sun Java System Access Manager 調校
本節提供 Directory Server 連線池、LDAP 認證和確認參數的相關資訊。
目錄伺服器連線區
/etc/opt/SUNWam/config/serverconfig.xml 檔案的變更如下:
LDAP 認證服務
Sun Java System Access Manager 服務配置參數
如以下方式變更 /etc/opt/SUNWam/config/AMConfig.properties 檔案:
- 將 com.iplanet.am.logstatus 指定為 INACTIVE
- 增加 com.iplanet.am.session.maxSession (預設 50000) 如果並行運作階段作業的預期數目超過此值
- 停用 com.iplanet.am.session.httpSession.enabled
- 指定 com.iplanet.am.sdk.cache.maxSize=DSAME_MAX_CACHE_SIZE,其中 DSAME_MAX_CACHE_SIZE 是根據 Access Manager 與 Portal Server 調校指南建議。DSAME_MAX_CACHE_SIZE=(MAX_CONCURRENT_SESSIONS) * (2 + services registered),其中 MAX_CONCURRENT_SESSIONS=7000,而註冊的服務=3 (預設值)。
- 將 com.iplanet.am.stats.interval 的值指定為 60。
- 將 com.iplanet.am.session.purgedelay 的值指定為 5。
- 將com.iplanet.services.stats.state 指定為 file。
- 將 com.iplanet.services.states.directory 指定為 /var/opt/SUNWam/debug。
若 Access Manager 與 Portal Server 安裝於不同機器上,則啟用輪詢模式。輪詢模式提供以下選項:
會顯示 /opt/SUNWam/lib/AMConfig.properties 檔案中的下列執行緒池特性:
Sun Java System Directory Server 調校
如果 Sun Java System Directory Server 由其他應用程式共用,您必須確認那些參數不會與其他應用程式的參數調校衝突。
必須為 /tmp/slapd-DSinstance1 準備足夠的虛擬記憶體空間,使用的總記憶體包括為資料庫快取配置的記憶體,不應超過實體記憶體的大小以避免記憶體分頁。在任何事件中,用於 slapd 程序本身的 nsslapd-dbcachesize + nsslapd-cachememsize + fixed memory 的值不能超過 4 GB 的處理位址空間。Nsslapd 是 32 位元的應用程式。
關於資源儲存的大小 (連線與執行緒),Sun Java System Directory Server 為搜尋類型作業提供具有約 15 並行性層級的最佳效能。
perftune 程序檔調校 ns-slapd 執行緒,db cache 與對映於 /var/opt/mps/serverroot/slapd-hostname/config/dse.ldif 檔案的資料庫檔案系統如下:
Sun Java System Web Server 6.1 調校
以下將說明 perftune 程序檔提供的 JVM 調校,以協助調校 Sun Java System Web Server 的 Portal Server 效能。
- 在位於 WebServer-base/SUNWwbsvr/https-hostname/config 的 magnus.conf 中指定下列項目
- 在位於 WebServer-base//https-hostname//config 的 server.xml 檔案中,為 JVM 調校指定下列項目:
- -Xms3G (若記憶體可用,此值會設為 3 GB,否則依預設,Xms 的值會設為 128)
- -Xmx3G (若記憶體可用,此值會設為 3 GB,否則依預設,Xmx 的值會設為 128)
- -Xss128K
- -Xloggc:/var/opt/SUNWappserver7/domains/domain1/
server1/logs/gclog- -XX:NewSize=384M
- -XX:MaxNewSize=384M
- -XX:MaxPermSize=64M
- -XX:PermSize=64M
- -XX:+UseParNewGC
- -XX:+UseConcMarkSweepGC
- -XX:MaxTenuringThreshold=1
- -XX:SoftRefLRUPolicyMSPerMB=1
- -XX:+CMSClassUnloadingEnabled
- -XX:+CMSPermGenSweepingEnabled
- -XX:+PrintGCTimeStamps
- -XX:+ShowMessageBoxOnError
- -XX:+OverrideDefaultLibthread
- -XX:+DisableExplicitGC
- -XX:+PrintGCDetails
- -XX:+PrintClassHistogram
Sun Java System Application Server 7.0 調校
當在 Sun Java System Application Server 上部署 Portal Server 時,Application Server 實例的最小與最大堆疊大小設為 3 GB。
perftune 程序檔會阻止 perftune 程序檔為 JVM 調校不允許有 3 GB 堆疊的系統。
以下將說明由 perftune 程序檔提供的 JVM 調校,以協助調校 Sun Java System Application Server 的 Portal Server 效能。
- 在位於 Deplaoy_Domain/Deploy_Instance/config 的 init.conf 中指定以下項目
- 在 Deplaoy_Domain/Deploy_Instance/config/sever.xml 中指定以下 JVM 參數:
- -Xms3G (若記憶體可用,則此值會設為 3GB,否則依預設,Xms 值會設定為 128)
- -Xmx3G (若記憶體可用,則此值會設為 3GB,否則依預設,Xmx 值會設定為 128)
- -Xss128K
- -Xloggc:/var/opt/SUNWappserver7/domains/domain1/server1/logs/gclog
- -XX:NewSize=384M
- -XX:MaxNewSize=384M
- -XX:MaxPermSize=64M
- -XX:PermSize=64M
- -XX:+UseParNewGC
- -XX:+UseConcMarkSweepGC
- -XX:MaxTenuringThreshold=1
- -XX:SoftRefLRUPolicyMSPerMB=1
- -XX:+CMSClassUnloadingEnabled
- -XX:+CMSPermGenSweepingEnabled
- -XX:+PrintGCTimeStamps
- -XX:+ShowMessageBoxOnError
- -XX:+OverrideDefaultLibthread
- -XX:+DisableExplicitGC
- -XX:+PrintGCDetails
- -XX:+PrintClassHistogram
若要設定閘道可靠性的其他 Sun Java System Application Server 參數
若要使用 Secure Remote Access 達到最佳化效能,請配置實作如下:
- 修改 AccessManager-base/SUNWam/lib/AmConfig.properties 檔案以設定應用程式伺服器的通知執行緒池大小。位於檔案頂端下列各行之下:
Sun, Sun Microsystems, the Sun logo, and iPlanet
* are trademarks or registered trademarks of Sun Microsystems,
* Inc. in the United States and other countries.
- 新增下列各行以將執行緒池大小設為 200:
/*Notification Thread Pool Size*/ com.iplanet.am.notification.threadpool.size=200
- 以使用者名稱「amadmin」以及安裝時輸入的通關密語登入 Portal Server 管理主控台。
- 在 [檢視] 功能表中選取 [服務管理]。
- 選取 [SRAP 配置],然後選取 [閘道]。
- 選取預設伺服器並按一下 [編輯]。
- 核取 [啟用 HTTP 連線] 核取方塊。
- 在 [HTTP 連接埠] 欄位中,輸入 80 並按一下 [儲存]。
- 在您瀏覽器的 Web 欄位中輸入 http://fullservername:port,從而以管理員身份 (admin) 登入 Sun Java System Application Server 管理主控台。預設連接埠是 4848。使用在安裝時輸入的密碼。
- 在安裝 Access Manager 的位置選取應用程式伺服器實例。
- 按一下 [JVM 設定] 然後再按一下 [JVM 選項]。
- 在 [JVM 選項] 欄位中,輸入下列字串:
-Dhttp.keepAlive=false
- 按一下 [新增],然後按一下 [儲存]。
- 選取您要安裝 Portal Server 的應用程式伺服器實例。
右窗格會顯示配置已經變更。
- 按一下 [套用變更]。
- 按一下 [重新啟動]。
- 應用程式伺服器應該會自動重新啟動。
- 在安裝閘道的伺服器上,移至 /opt/SUNWps/bin/perf 目錄,並輸入下列字串以執行設定 Secure Remote Access 調校參數的程序檔:
./perftune
- 修改 AccessManager-base/SUNWam/lib/AmConfig.properties 檔案以設定閘道的通知執行緒池大小。位於檔案頂端下列各行之下:
Sun, Sun Microsystems, the Sun logo, and iPlanet
* are trademarks or registered trademarks of Sun Microsystems,
* Inc. in the United States and other countries.
- 新增下列各行以將執行緒池大小設定為 200:
/*Notification Thread Pool Size*/ com.iplanet.am.notification.threadpool.size=200
- 請至 /opt/SUNWps/bin 目錄 並修改閘道檔案以設定 -Dhttp.keepAlive 選項為 false 以增加 -Xms 與 -Xmx 堆疊大小選項設定。
- 定義 CMD 設定選項,如下所示:
CMD="$JAVA_HOME/bin/java -server -Xms3G -Xmx3G -XX:+OverrideDefaultLibthread -Xss128K
-XX:MaxPermSize=64M -XX:PermSize=64M -XX:MaxNewSize=512M
-XX:NewSize=512M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:MaxTenuringThreshold=1
-XX:SoftRefLRUPolicyMSPerMB=1
-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps -XX:+PrintClassHistogram
-XX:+ShowMessageBoxOnError -XX:+DisableExplicitGC
-Xloggc:/var/opt/SUNWps/debug/gclog.$GW_INSTANCE -classpath $CLASSPATH $DEFINES1 $DEFINES2 $DEFINES3 $DEFINES4 $DEFINES5
$PROXY_DEFINES $BOOT_CLASSPATH com.sun.portal.netlet.eproxy.EProxy"- 修改 /etc/opt/SUNWps/platform.conf.default 檔案以設定 gateway.protocol 參數為 http 並將 gateway.port 參數設定為連接埠 80,如下所示:
gateway.protocol=http
gateway.port=80
- 輸入下列指令重新啟動閘道以使變更生效:
PortalServer-base/SUNWps/bin/gateway -n default start
其中 default 是在安裝時建立的預設閘道設定檔。
Portal Server 桌面調校
caller 參數是用於調整執行緒池的大小,以透過提供者描繪內容。呼叫者池初始大小為 0。項目在使用與傳回時會新增至該池中。呼叫者池可以延伸至非常大的大小,然而一般只會與使用者 Portal Desktop 中的通道數一樣大。當多重同步運作的執行緒具有相同的 sid 時,該池可以延伸為 n * m 的大小,其中 n = 同步運作相同 sid 執行緒的數目,而 m = 指定的 sid Portal Desktop 上的通道數目。
為了讓「提供者呼叫者資源池」最佳化,perftune 程序檔會在 /etc/opt/SUNWps/desktop/desktopconfig.properties 檔案中變更下列參數:
執行長程測試時,為了最小化衍生 Portal Desktop 呼叫者執行緒所造成的不必要的記憶體增長,這些特性 (除了 templateScanInterval) 應該變更回原來的預設值。
請對這些特性進行下列變更: