Sun ONE logo      上一页      目录      索引      下一页     

Sun ONE Portal Server 6.2 安装指南

第 4 章
微调 Sun ONE Portal Server

本章介绍优化 Sun™ ONE Portal Server 的性能和容量的配置参数。与 Sun ONE Portal Server 捆绑在一起的 perftune 脚本(位于 portal-server-install-root/SUNWps/bin 目录下)将自动完成本章所述的微调进程的大部分操作。


简介

perftune 脚本:


微调策略

运行 perftune 脚本时,为两个典型的用法方案提供性能微调选项。这两个方案分别称为“最优产量”和“最大产量”。定义这些方案着重大多数 Sun ONE Portal Server 用法模式。这些部署方案具有以下特点:

例如,在连接到企业门户的业务高峰时间,在最大产量的环境中,会有相当数量的公司雇员在同一时间连接到门户。


内存分配

每个 JVM 可分配的内存的最大容量由两个参数决定:

  1. 每个中央处理器的物理内存的最大容量。对于 E45* 类机器,其内存容量大约是 1 GB
  2. 从性能和可量测性角度来看,要达到最优性能,对于 Sun ONE Portal Server,实例与中央处理器的建议比率仍然是 1:1(每个中央处理器一个实例)。对于最大产量方案,此比率最好是 1:2(每 2 个中央处理器一个实例),使最大 JVM 堆栈容量能够达到 2 GB。

使微调生效的 JVM 性能矩阵着眼于剩余投入、覆盖区域和反应速度(在下面定义)。第二列、第三列和第四列分别显示最优产量环境和最大产量环境在剩余投入、覆盖区域和反应速度领域的性能级别。

 

剩余投入

覆盖区域

反应速度

最优产量

不重要

最大产量

不重要

不重要

其中:


微调指导

运行 perftune 脚本时,可指定是否执行以下微调建议。仔细查看建议并使用 perftune 脚本执行这些建议修改。

要运行 perftune 脚本:

  1. 登录到机器并成为超级用户。
  2. 需要根访问运行此脚本。

  3. 更改目录至 portal-server-install-root/SUNWps/bin
  4. 输入:
  5. ./perftune

在微调进程期间,perftune 脚本执行服务器的启动和停止操作。此脚本将以 filename-orig-date-pid 格式来创建已修改文件的副本。在运行脚本使微调后重新启动系统以使更改生效。

Solaris 微调

Kernel 微调

脚本向 /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 验证

Sun ONE Identity Server 服务配置参数

以下是对 portal-server-install-root/SUNWam/lib/AMConfig.properties 文件所做的更改:

/opt/SUNWam/lib/AMConfig.properties 文件中的以下线程池属性将在 Sun ONE Portal Server 6.2 中介绍:

Sun ONE Directory Server 微调

如果 Sun™ ONE Directory Server 由其它应用程序共享,则可能需要检查这些参数与其它应用程序的参数微调不发生冲突。

必须为 /tmp/slapd-DSinstance1 提供足够的虚拟内存空间,并且为避免内存分页,所用内存的总空间大小(包括为数据库高速缓存分配的内存空间)必须不超过物理内存的容量。在任何情况下,slapd 进程本身占用的 nsslapd-dbcachesize + nsslapd-cachememsize + fixed memory 的累计值不能超过 4 GB 的处理地址空间。Nslapd 是 32 位应用程序。

关于资源池(连接和线程)的大小,Sun ONE Directory Server 以为搜索类型的操作提供大约 15 的并发级别提供最优性能。

perftune 脚本将按如下方式微调映射在 /var/opt/mps/serverroot/slapd-hostname/config/dse.ldif 文件中的 ns-slapd 线程、db cache 和数据库文件系统:

Sun ONE Web Server 6.0 微调

下面说明由 perftune 脚本提供的“JVM 微调”,可帮助您微调 Sun™ ONE Web Server,以提高 Sun ONE Portal Server 在“最优产量”和“最大产量”环境中的性能。

最优产量

堆栈容量

堆栈容量是需要注意的最重要的选项。有关这些参数的详细信息,请参阅 Sun ONE Web Server 微调指南。perftune 脚本:

  1. 在位于 web-server-install-root/SUNWwbsvr/https-hostname/configmagnus.conf 中指定下列各项
    • RqThrottle 256
    • StackSize 393216
    • ThreadIncrement 20
    • ConnQueueSize 20000
  2. 在位于 web-server-install-root//https-/hostname//configweb-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. 在位于 web-server-install-root//https-/hostname//configserver.xml 文件中为“JVM 微调”指定下列各项
    • 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. start-jvm 文件中为替代 T2 libthread 指定下列各项
  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/configmagnus.conf 中指定下列各项
    • RqThrottle 256
    • StackSize 131072
  2. 在位于 web-server-install-root//https-/hostname//configweb-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. 在位于 web-server-install-root//https-/hostname//configserver.xml 文件中为“JVM 微调”指定下列各项
  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. start-jvm 文件中为替代 T2 libthread 指定下列各项
  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 内存堆栈”容量的最小值是 1 GB,最大值是 2 GB。新一代的比例小于最优产量的比例,因此连接用户可有更多的可用空间。

    由于大量潜在的老中年一代的参与,会更关注较长的暂停时间而不是 GC 的速度,所以渐增(或培养)GC 更适用于最大产量。



注意

如果在应用程序服务器网络容器上部署 Sun ONE Portal Server,安装脚本为在其上安装 Sun ONE Portal Server 的应用程序服务器实例将 JVM 最大堆栈容量和最小堆栈容量更改为 128 MB。要使用不同的最小和最大 JVM 堆栈容量,请转至 Application Server 管理控制台,然后设置所需的最小和最大 JVM 堆栈容量。


Sun ONE Application Server 7.0 微调

当在 Sun ONE Application Server 上部署 Sun ONE Portal Server 时,会设置应用程序服务器实例的最小和最大堆栈容量。

就 J2SDK 1.4.1_01 和 1.4.2 而言,Sun ONE Application Server 7.0 建议使用的 JVM 选项如下所示。

如果用作服务器的机器仅能够提供 4 GB 的物理内存,则可使用值 -Xms2048M 而不是 -Xms3072M;仅有 4 GB 的物理内存,如果设置为 -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,

    * Inc. in the United States and other countries.

    添加以下几行,将线程池的容量设置为 200:

    /*通知线程池容量*/ com.iplanet.am.notification.threadpool.size=200

  3. 使用用户名 amadmin 和安装期间输入的长口令登录到 Portal Server 管理控制台。
  4. 在“视图”菜单中选择“服务管理”。
  5. 选择“SRA 配置”,然后选择“网关”。
  6. 选择默认的服务器,然后单击“编辑”。
  7. 选中“启用 HTTP 连接”复选框。
  8. 在“HTTP 端口”字段中,键入 80,然后单击“保存”。
  9. 通过在浏览器的网络地址字段中输入 http://fullservername:port,以管理员 (admin) 的身份登录到 Sun ONE Application Server 管理控制台。默认端口为 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,

    * Inc. in the United States and other countries.

    添加以下几行,将线程池的容量设置为 200:

    /*通知线程池容量*/ com.iplanet.am.notification.threadpool.size=200

  24. 转至 /opt/SUNWps/bin 目录,然后修改网关文件,设置 -Dhttp.keepAlive 选项为 false,并增加 -Xms 和 -Xmx 的堆栈容量选项设置。
  25. 默认情况下,srapperftune 脚本将 -Xms 和 -Xmx 堆栈容量选项设置为 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 参数指定通过提供者提供内容的线程池的大小。调用池大小初始化为 0。使用和返回项目时将项目添加到池。调用池的大小会扩展为很大。可是,在正常情况下其大小仅能扩展到与用户的“门户桌面”上的频道的数目一样大。在有多个并发线程使用相同的 sid 情况下,池可能扩展到大小 n * m,其中 n = 并发的相同 sid 线程的数目,m = 对于给定的 sid,“门户桌面”上的频道的数目。

为优化“提供者调用资源池”,perftune 脚本在 /etc/opt/SUNWps/desktop/desktopconfig.properties 文件中更改以下参数:

当执行长运行测试时,要减少由于派生的“门户桌面”调用线程而增加的不必要的内存空间,必须将这些属性(除 templateScanInterval 以外)更改回其原始的默认值。

对这些属性进行下列更改:



上一页      目录      索引      下一页     


版权所有 2003 Sun Microsystems, Inc. 保留所有权利。