GlassFish Enterprise Manager Performance Advisor 能够为 Sun GlassFishTM Enterprise Server 2.1 版提供性能调节帮助及性能警报。
本安装与快速入门指南介绍如何使用 Performance Advisor,它分为以下几个部分:
有关最新的 GlassFish Enterprise Manager Performance Advisor 更新,请参见 《Sun GlassFish Enterprise Manager Performance Advisor 1.0 发行说明》。另请参见 Sun GlassFish Enterprise Server 文档集。
具有以下任何权利的 Sun 客户均可下载 Performance Advisor:
Sun GlassFish Enterprise Server
Sun GlassFish Enterprise Server Unlimited Offering
Sun GlassFish Enterprise Suite(仅限金牌或铂金支持级别)
Sun GlassFish Enterprise Suite Unlimited Offering
Sun Java Application Platform Suite
Sun Java Enterprise System
Sun Java Web Infrastructure Suite
Sun Web Space Server
要下载和安装此组件,请按照以下步骤操作:
转至 SunSolve 站点 http://sunsolve.sun.com/。
单击 "Accept" 按钮以接受 SunSolve 许可协议。
单击右栏中的 "Login" 链接并输入您的支持用户名和密码。
单击右栏中的 "Patches and Updates" 链接。
在 "PatchFinder" 字段中输入 Performance Advisor 修补程序编号 140751–01 ,并单击 "Find Patch" 按钮。
单击 "Download Patch" 旁的 HTTP 链接。
一个名为 140751–01.zip 的文件将被复制到您的计算机上。
解压缩 140751–01.zip 文件。 例如:
unzip 140751–01.zip |
解压缩的内容包括一个名为 performance-advisor.jar 的归档文件和一些其他的文件。
将 performance-advisor.jar 文件放在 as-install/lib 目录下,其中 as-install 是安装 Enterprise Server 的目录。
不要重命名 performance-advisor.jar 文件。
重新启动域。可以使用下面的 asadmin 命令。
asadmin stop-domain domain1 asadmin start-domain domain1 |
有关 asadmin stop-domain 和 asadmin start-domain 命令的更多信息,请参见 《Sun GlassFish Enterprise Server 2.1 Reference Manual》。
成功安装后,"Performance Advisor" 节点将显示在管理控制台的左窗格中。此节点有两个子节点:“管理规则”和 "Tuner"。
Tuner 会提供服务器设置建议,以满足您的 Enterprise Server 部署需求。它可以帮助您实现最佳配置。在具有特定要求的情况下,可能需要更加细致的调节。Tuner 会执行 Enterprise Server 资源和吞吐量要求的静态分析。它不会执行系统动态检查。
Tuner 同时支持同构和非同构群集。同构性基于以下条件:操作系统、硬件、物理内存和内核(逻辑 CPU)。对于同构群集,运行群集的组件实例的所有计算机的所有条件都匹配。对于非同构群集,这些值有所不同。对于非同构群集,应首先使用悲观值,然后提高运行在功能更强大或资源更充足的硬件上的特定组件实例的这些值。
系统属性会更改群集内的各个服务器实例的设置。Tuner 会设置一些系统属性。有关系统属性的更多信息,请参见以下文档:
《Sun GlassFish Enterprise Server 2.1 Administration Reference》中的“Variables”
《Sun GlassFish Enterprise Server 2.1 Administration Reference》中的“system-property”
在调节群集之前,请确保所有实例都在运行,以便调节器能够收集用于计算可调设置的重要数据。
要使用 Tuner,请按照以下步骤操作:
在管理控制台的左窗格中选择 "Tuner" 节点。
提供所需的信息。如有必要,请向系统管理员咨询。
要调节的配置 — 从下拉式列表中选择服务器或群集的名称。
内核的数量 — 指定每台计算机可用的逻辑 CPU(也称为处理器线程)的数量。默认值为 1。
您无需指定计算机上的 CPU 总数,只需指定要分配给计算机上运行的每个 Enterprise Server 实例使用的数量。
在 Sun SPARC Enterprise T5440 (http://www.sun.com/servers/coolthreads/t5440/) 上,使用 psrinfo 等命令可以返回逻辑 CPU(或处理器线程)的数量。Sun SPARC Enterprise T5440 最多可以具有 256 个处理器线程。有关更多信息,请参见您的硬件供应商的数据表单。
最大可用堆内存 — 指定 Enterprise Server 的 JVM 服务器实例的堆内存大小。默认值为 1024 MB。如果调节器确定堆内存的指定值并不是最优值,则不会应用该值。
数据库访问的分配时间 — 指定分配时间为“低”(0% - 10%)、“中等”(10% - 20%) 或“高”(>= 20%)。默认值为“中等”。
这是部署在所调节实例或群集上的主应用程序在数据库层花费的时间。如果在群集上部署了多个应用程序,则此值应为所有应用程序在数据库层花费的时间总和。您还应该考虑每个 Web 或 EJB 请求所花费的时间。
垃圾收集策略 — 指定最大吞吐量峰值(较高 GC 暂停)或低 GC 暂停(较低吞吐量峰值)。默认值为“最大吞吐量峰值”。
此策略决定了 JVM 中的垃圾收集方式。显然,垃圾收集应该花费最少的时间,但实际上并非总是这样。可以对 Enterprise Server 的 JVM 进行配置,以使用大量短 GC 暂停,或少量相对较长的 GC 暂停。如果使用少量 GC 暂停的策略,则吞吐量通常较大,1 – 2% 的请求会延迟。
禁用安全管理器?— 指定是否禁用 Java 平台安全管理器。禁用安全管理器可以提高性能,但会降低系统安全性。默认值为“是”。
禁用访问记录程序?— 指定是否禁用访问日志记录。 禁用访问日志记录可以提高性能,但会删除一些系统信息。默认值为“是”。
在 Sun 的 CoolThreads (Niagara) 服务器上运行? — 如果服务器实例在采用 CoolThreadsTM 技术的 Sun 服务器上运行,请选中此框。默认值为“否”。有关更多信息,请参见 http://www.sun.com/servers/index.jsp?cat=SunCoolThreadsServers&tab=3。
选择“下一步”按钮。
仔细阅读建议更改表格。
如果您只希望进行其中一部分更改,请注意您要进行更改的“当前设置”、“建议设置”和“手动应用”栏中的文本。
例如,如果某个更改会添加或删除一个 JVM 选项,则该选项显示在“当前设置”或“建议设置”栏中,“手动应用”栏中显示以下文本:
Go to the JVM Settings page for the configuration, select the JVM Options tab, select the Add JVM Option button, and enter the JVM option. Or use one of these commands: asadmin create-jvm-options or asadmin delete-jvm-options |
有关“手动应用”栏中提及的 asadmin 命令的更多信息,请参见 《Sun GlassFish Enterprise Server 2.1 Reference Manual》。
选择其中一个按钮,以确认或取消更改。
要接受所有更改,请选择“确认”。
要拒绝所有更改,请选择“取消”。
如果您在步骤 6 中选择了“取消”,请手动应用步骤 5 中的所有更改。
例如,要删除 -Xmx512m 选项,请使用下面的 asadmin 命令。请注意,短划线必须使用反斜杠进行转义,选项必须加上引号。
asadmin delete-jvm-options "\-Xmx512m" |
重新启动使用您调节的配置的每个服务器实例或群集。
如果向群集中添加了服务器实例,则应重新调节该群集的配置。
您可以配置 Enterprise Server 中的 JavaMailTM 资源,以便在管理规则通知中使用。这是一项可选操作;您可以在没有指定 JavaMail 资源的情况下指定邮件服务器。
要使用管理控制台,请按照以下步骤操作:
在左窗格中打开“资源”节点。
选择“JavaMail 会话”。
选择“新建”按钮。
提供所需信息:
JNDI 名称 — 为 JavaMail 资源指定唯一名称。
邮件主机 — 指定邮件服务器的主机名。
默认用户 — 指定邮件服务器管理员的用户名。
默认返回地址 — 指定在默认情况下,回复将发送到的电子邮件地址。
指定将使用邮件服务器的目标服务器实例或群集。要指定某个目标,请在“可用目标”列表中选择该目标,并选择“添加”按钮将其移至“选定目标”列表中。
JavaMail 资源必须至少具有与使用它的管理规则相同的目标。
选择“确定”按钮。
也可以用 asadmin create-javamail-resource 和 asadmin create-resource-ref 命令。例如:
asadmin create-javamail-resource --mailhost localhost --mailuser admin --fromaddress admin\@company22\.com mail/MyMailSession asadmin create-resource-ref --target Cluster1 mail/MyMailSession |
有关 asadmin create-javamail-resource 和 asadmin create-resource-ref 命令的更多信息,请参见 《Sun GlassFish Enterprise Server 2.1 Reference Manual》。
管理规则可向您发出关于系统使用问题的警报,并帮助您来管理日志文件和 JDBC 连接池。配置管理规则的一般步骤如下:
在管理控制台的左窗格中选择“管理规则”节点。
从表格中选择您要配置的规则。
选择“添加”按钮以显示规则的“编辑”页面。
如果该规则带有一个“启用电子邮件通知”框,请选中该框。
如果不选中此框,则警报将只写入服务器日志。除了“日志轮转管理器”和“JDBC 池管理器”之外,所有规则都带有此框。
提供电子邮件通知的以下信息。
收件人 — 指定警报收件人的电子邮件地址(以逗号分隔)。
使用 JavaMail 资源 — 如果使用 JavaMail 资源,请指定此资源。要设置 JavaMail 资源,请参见 配置 JavaMail 资源。
发件人电子邮件 — 如果没有使用 JavaMail 资源,请指定警报发件人的电子邮件地址。
邮件主机名 — 如果没有使用 JavaMail 资源,请指定相同的邮件服务器主机名。
用户名 — 如果没有使用 JavaMail 资源,请指定警报发件人的用户名。
发件人密码 — 如果没有使用 JavaMail 资源,请指定警报发件人的密码或密码别名。
若要创建密码别名,请使用 asadmin create-password-alias 命令。 有关详细信息,请参见 《Sun GlassFish Enterprise Server 2.1 Reference Manual 》。
提供规则所需的特定信息。
以下部分简短描述了每个规则所需的特定信息。
指定要应用规则的目标服务器实例或群集。要指定某个目标,请在“可用目标”列表中选择该目标,并选择“添加”按钮将其移至“选定目标”列表中。
JavaMail 资源必须至少具有与使用它的管理规则相同的目标。
选择“保存”按钮。
重新启动每个目标服务器实例或群集。
当空闲物理内存的百分比降至用户定义的阈值以下时,“物理内存警报”规则将会发出警报。
“物理内存警报”规则包括下面的规则特定设置:
用户阈值 — 指定空闲物理内存百分比,当低于此百分比时,将会发出警报。默认值为 15。
抽样频率 — 指定检查物理内存的频率,以秒为单位。默认值为 30。
有关如何配置规则的一般步骤,请参见使用管理规则。
当检测到可能出现的内存泄漏时,“内存泄漏警报”规则将发出警报。检测是通过垃圾收集 (GC) 后的内存使用率百分比趋势分析完成的。如果垃圾收集后的内存使用率超过了用户定义的阈值,将会发出警报。
“内存泄漏警报”规则包括下面的规则特定设置:
抽样数量 — 指定用于确定垃圾收集后内存使用率的移动平均值的抽样数量。默认值为 10。
用户阈值 — 指定垃圾收集后的内存使用率百分比,当高出这个百分比时,将会发出警报。默认值为 85。
有关如何配置规则的一般步骤,请参见使用管理规则。
当 CPU 使用率百分比趋势分析表明使用率超出了用户定义的阈值时,“CPU 使用趋势警报”规则将发出警报。
“CPU 使用趋势警报”规则包括下面的规则特定设置:
抽样频率 — 指定检查 CPU 的频率,以秒为单位。默认值为 30。
用户阈值 — 指定 CPU 使用率百分比,当高出这个百分比时,将会发出警报。默认值为 65。
抽样数量 — 指定用于确定 CPU 使用率的移动平均值的抽样数量。默认值为 10。
有关如何配置规则的一般步骤,请参见使用管理规则。
如果垃圾收集时间在虚拟机 (VM) 正常运行时间中所占的平均百分比超过了用户定义的阈值,“JVM 吞吐量警报”规则将发出警报。
“JVM 吞吐量警报”规则包括下面的规则特定设置:
用户阈值 — 指定垃圾收集时间在虚拟机 (VM) 正常运行时间中所占的平均百分比,如果超过此百分比,将会发出警报。默认值为 5。
抽样频率 — 指定检查吞吐量的频率,以秒为单位。默认值为 30。
抽样数量 — 指定用于确定吞吐量的移动平均值的抽样数量。默认值为 10。
有关如何配置规则的一般步骤,请参见使用管理规则。
如果最后一次垃圾收集 (GC) 暂停时间超过了用户指定的最长 GC 暂停时间的用户指定百分比,“GC 暂停时间警报”规则将发出警报。
“GC 暂停时间警报”规则包括下面的规则特定设置:
最长 GC 暂停 — 指定可接受的最长 GC 暂停时间,以秒为单位。没有默认值。
用户阈值 — 指定最长 GC 暂停时间的百分比,如果高出了这个百分比,将会发出警报。默认值为 85。
有关如何配置规则的一般步骤,请参见使用管理规则。
在达到或超过用户指定记录程序的用户指定日志级别的日志文件中创建新条目时,“日志条目警报”规则将发出警报。
“日志条目警报”规则包括下面的规则特定设置:
日志级别 — 指定日志级别,当达到或高于这个级别时,将会发出警报。默认值为“警告”。另一个允许的值为“严重”。
记录程序 — 指定要为其发出警报的记录程序的列表(以逗号分隔)。请确保每个记录程序存在于目标服务器或群集上。这些记录程序可以是任何的 Enterprise Server 记录程序或应用程序记录程序。必须指定完整的记录程序名称。例如,javax.enterprise.system.core.selfmanagement 指定了 Enterprise Server 的自管理记录程序。要为所有记录程序指定所有“警告”和“严重”消息,则请输入单独的 *(星号)。没有默认值。
请确保记录程序存在于目标服务器或群集上。
管理控制台中的“日志级别”页面列出所有 Enterprise Server 记录程序及其全名。在左窗格中选择您的配置的记录程序设置,然后选择“日志级别”选项卡。
有关如何配置规则的一般步骤,请参见使用管理规则。
“日志轮转管理器”规则可移动或删除轮转日志文件。
“日志轮转管理器”规则包括下面的规则特定设置:
删除 — 选中此框,在超过阈值时删除日志文件。默认为未选中。
移动到目录 — 指定在超过阈值时要将日志文件移动到的目录。此目录必须是可从目标服务器或群集访问的绝对路径。没有默认值。
轮转策略 — 指定删除或移动日志文件的阈值的类型。默认值为“文件数量”。其他允许的值为“大小限制”和“时间”。
文件数量 — 指定日志文件数量,如果超出这个数量,将会删除或移动日志文件。仅当“轮转策略”为“文件数量”时,此设置才适用。默认值为 5。
最大大小 — 指定最大日志文件大小,如果超出这个大小,将会删除或移动日志文件。仅当“轮转策略”为“大小限制”时,此设置才适用。没有默认值。
时间 — 指定小时数,如果超出这个小时数,将删除或移动日志文件。仅当“轮转策略”为“时间”时,此设置才适用。没有默认值。
频率检查 — 以所需单位(天、小时、分钟、秒或毫秒)指定检查日志文件的频率。默认值为 1 天。
有关如何配置规则的一般步骤,请参见使用管理规则。
“JDBC 池管理器”规则可调节 JDBC 连接池的最大池大小 (max-pool-size) 以及初始和最小池大小 (steady-pool-size) 的值。这些重新计算仅在运行时进行,绝对重新计算值不会在任何地方反映出来。在生产环境中,重新计算仅基于初始和最小池大小的客户端请求数量,并且仅基于最大池大小的服务器实例添加或删除。
“JDBC 池管理器”规则包括下面的规则特定设置:
默认最大连接数 — 为没有池特定设置的池指定默认最大连接池大小设置。默认值为 32。
抽样频率 — 指定检查 JDBC 连接池的连接数的频率,以秒为单位。默认值为 60。
抽样数量 — 指定用于确定连接数的移动平均值的抽样数量。默认值为 5。
JDBC 池表格 — 选中“* (应用于所有当前及未来的 JDBC 连接池)”旁边的框,或者选中各个连接池旁边的框。对于每个选定池,输入一个“最大连接数”值,或将“最大连接数”保留为空以使用默认值。
不要同时选中“* (应用于所有当前及未来的 JDBC 连接池)”和各个连接池。“* (应用于所有当前及未来的 JDBC 连接池)”的“最大连接数”设置会覆盖各个连接池的“最大连接数”设置。
此规则中的所有“最大连接数”设置(包括“默认最大连接数”和各个池的“最大连接数”设置)会覆盖 JDBC 连接池的“最大池大小”设置。
有关如何配置规则的一般步骤,请参见使用管理规则。