使用脚本来启用运行时性能顾问程序工具
可以使用 wsadmin 工具或管理控制台来配置运行时性能顾问程序 (RPA)。
开始之前
关于此任务
RPA 提供建议来帮助调整系统,以便获取最佳性能。请参阅“使用运行时性能顾问程序”信息,以获取有关如何使用管理控制台启用此工具的信息。这些建议以文本的形式显示在 SystemOut.log 文件中。
注: 本主题引用了一个或多个应用程序服务器日志文件。作为另一种建议采用的方法,您可以在分布式系统和 IBM® i 系统上配置服务器以使用高性能可扩展日志记录 (HPEL) 记录和跟踪基础结构,而不使用 SystemOut.log、SystemErr.log、trace.log 和 activity.log 文件。您还可以将 HPEL 与本机 z/OS® 日志记录设施结合使用。如果要使用 HPEL,那么可从服务器概要文件
bin 目录使用 LogViewer 命令行工具来访问所有日志和跟踪信息。有关使用
HPEL 的更多信息,请参阅有关使用 HPEL 对应用程序进行故障诊断的信息。
RPA 的处理由各种规则和相应的规则标识控制。下表概述了规则标识与 RPA 将提出的建议之间的映射。
规则标识 | 建议性质 |
---|---|
ServerRule01 | 没有新会话规则的空间 |
ServerRule02 | 活动会话 |
ServerRule03 | 会话读/写大小 |
ServerRule04 | 会话读/写时间 |
ServerRule05 | servlet 引擎无限制规则 |
ServerRule06 | servlet 引擎线程池规则 |
ServerRule07 | ORB 无限制 |
ServerRule08 | ORB 池规则 |
ServerRule09 | 数据源连接池最小和最大大小规则 |
ServerRule10 | 数据源预编译语句废弃规则 |
ServerRule11 | 内存泄漏检测规则 |
surgeModeAlert | 浪涌保护方式规则 |
poolLowEffAlert | 池效率太低规则 |
hungConnModeAlert | 挂起连接警报规则 |
connLowEffAlert | 连接效率太低规则 |
connErrorAlert | 连接错误警报规则 |
LTCSerialReuseViolationAlert | LTC 串行复用违例警报规则 |
LTCNestingAlert | LTC 嵌套规则 |
LTCConnPerThreadLimitAlert | 每个线程的 LTC 连接限制规则 |
multiThreadUseViolationAlert | 多线程使用 JCA 编程模型违例 |
xComponentUseViolationAlert | 跨组件使用 JCA 编程模型违例 |
运行时性能顾问程序(RPA)要求性能监视服务 (PMI) 已启用。但不要求启用各个计数器。如果 RPA 所需的计数器未启用,那么 RPA 将自动启用此计数器。
没有 MBean/对象可供 wsadmin 用来创建 RPA 配置。可以使用
wsadmin 来更改这些设置并使它们在运行时生效。将不持久地保留这些更改。这些更改将保留到停止服务器为止。因为一旦停止服务器,RPA
就被禁用,所以可能需要禁用 PMI 服务或 RPA 活动期间已启用的计数器。可以使用运行时性能顾问程序来启用下列计数器:
线程池(模块) Web 容器(模块) 池大小活动的线程对象请求代理(模块)池大小活动的线程JDBC 连接池(模块)池大小已用百分率预编译语句废弃Servlet 会话管理器(模块)外部读大小外部写大小外部读时间外部写时间没有空间可用于新的会话系统数据(模块)CPU 利用率可用内存
以下内容对可以使用的其中某些设置进行了说明:
- 计算时间间隔 PMI 数据 - 此设置是在一段时间间隔上获取的并进行平均以提供建议。计算时间间隔指定时间的长度,在此之上为此建议获得数据。建议消息中的详细信息将作为此时间间隔内的平均值出现。
- 最大警告序列 - 此设置指在阈值更新前发出的连续警告数。例如,如果最大警告序列设置为 3,那么顾问程序仅发送 3 个警告以表明预编译语句高速缓存溢出。此后,仅当丢弃速率超出了新的阈值设置时才发出新的警报。
- 处理器数 - 此设置指定服务器上的处理器数。为确保针对系统的特定配置的建议正确,此设置至关重要。
要使用 wsadmin 工具来启用运行时性能顾问程序工具,请执行以下步骤:
过程
设置运行时性能顾问程序(RPA),例如:
使用 Jacl:
set perf [$AdminControl queryNames mbeanIdentifier=ServerRuleDriverMBean2,process=server1,*] set enabledVal [java::new java.lang.Boolean true] set attr [java::new javax.management.Attribute enabled $enabledVal] set perfObject [$AdminControl makeObjectName $perf] set ObjectArray [java::new {java.lang.Object[]} 1] set sigArray [java::new {java.lang.String[]} 1] $ObjectArray set 0 $attr $sigArray set 0 "javax.management.Attribute" $AdminControl invoke_jmx $perfObject setRPAAttribute $ObjectArray $sigArray $AdminConfig save