Enabling the Runtime Performance Advisor tool using scripting

You can configure the Runtime Performance Advisor (RPA) using the wsadmin tool or the administrative console.

Before you begin

Before starting this task, the wsadmin tool must be running. See the starting the wsadmin scripting client information.

About this task

The RPA provides advice to help tune systems for optimal performance. See the using the Runtime Performance Advisor information on how to enable this tool using the administrative console. The recommendations display as text in the SystemOut.log file.

Note: This topic references one or more of the application server log files. As a recommended alternative, you can configure the server to use the High Performance Extensible Logging (HPEL) log and trace infrastructure instead of using SystemOut.log , SystemErr.log, trace.log, and activity.log files on distributed and IBM® i systems. You can also use HPEL in conjunction with your native z/OS® logging facilities. If you are using HPEL, you can access all of your log and trace information using the LogViewer command-line tool from your server profile bin directory. See the information about using HPEL to troubleshoot applications for more information on using HPEL.
The processing of RPA is governed by various rules and corresponding rule IDs. The following table summarizes the mapping between rule IDs and the advice the RPA would process.
Table 1. Rule IDs and nature of advice .

This table maps rule IDs to the nature of advice process by the RPA.

Rule ID Nature of Advice
ServerRule01 No room for new sessions rule
ServerRule02 Live session
ServerRule03 Session read and write size
ServerRule04 Session read and write time
ServerRule05 Servlet engine unbounded rule
ServerRule06 Servlet engine thread pool rule
ServerRule07 ORB unbounded
ServerRule08 ORB pool rule
ServerRule09 DataSource connection pool min and max size rule
ServerRule10 DataSource prepared statement discard rule
ServerRule11 Memory leak detection rule
surgeModeAlert Surge mode rule
poolLowEffAlert Pool low percent efficiency rule
hungConnModeAlert Hung connection alert rule
connLowEffAlert Connection low percent efficiency rule
connErrorAlert Connection error alert rule
LTCSerialReuseViolationAlert LTC serial reuse violation alert rule
LTCNestingAlert LTC nesting rule
LTCConnPerThreadLimitAlert LTC connection per thread limit rule
multiThreadUseViolationAlert Multi-thread use JCA programming Model Violation
xComponentUseViolationAlert Cross component use JCA programming model violation

The Runtime Performance Advisor (RPA) requires that the Performance Monitoring Service (PMI) is enabled. It does not require that individual counters be enabled. When a counter that is needed by the RPA is not enabled, the RPA will enable it automatically.

There is no MBean/object available for wsadmin to create a RPA configuration. You can use wsadmin to change the settings and make them effective at runtime. These changes will not be persisted. The changes remain until you stop the server. Since the RPA is disabled once you stop the server, you may want to disable the PMI Service or the counters that were enabled while it was active. You can enable the following counters using the Runtime Performance Advisor:
ThreadPools (module)
Web Container (module)
Pool Size
Active Threads
Object Request Broker (module)
Pool Size
Active Threads
JDBC Connection Pools (module)
Pool Size
Percent used
Prepared Statement Discards
Servlet Session Manager (module)
External Read Size
External Write Size
External Read Time
External Write Time
No Room For New Session
System Data (module)
CPU Utilization
Free Memory
The following provides an explanation for some of the settings that you can use:
  • Calculation interval PMI data - This setting is taken over an interval of time and averaged to provide advice. The calculation interval specifies the length of the time over which data is taken for this advice. Details within the advice messages will appear as averages over this interval.
  • Maximum warning sequence - This setting refers to the number of consecutive warnings issued before the threshold is relaxed. For example, if the maximum warning sequence is set to 3, then the advisor only sends three warnings to indicate that the prepared statement cache is overflowing. After that, a new alert is only issued if the rate of discards exceeds the new threshold setting.
  • Number of processors - This setting specifies the number of processors on the server. It is critical in order to ensure accurate advice for the specific configuration of the system.

To enable the Runtime Performance Advisor tool using the wsadmin tool, perform the following steps:

Procedure

Setup the Runtime Performance Advisor (RPA), for example:
  • Using 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

What to do next

After completing the previous steps, start the server and monitor RPA.