WAS v8.5 > Script the application serving environment (wsadmin) > Troubleshooting with scriptingEnable the Runtime Performance Advisor tool using scripting
We can configure the Runtime Performance Advisor (RPA) using wsadmin or the dmgr console. The recommendations display as text in the SystemOut.log file.
IBM recommends using the HPEL log and trace infrastructure. With HPEL, one views logs using the LogViewer command-line tool in PROFILE/bin.
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.
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 the Performance Monitoring Service (PMI) is enabled. It does not require that individual counters be enabled. When a counter 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. We 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. We 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 MemoryThe following provides an explanation for some of the settings that we 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 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 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 Number of processors on the server. It is critical in order to ensure accurate advice for the specific configuration of the system. Setup the Runtime Performance Advisor (RPA), for example:
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
After completing the previous steps, start the server and monitor RPA.
Related concepts:
Performance and Diagnostic Advisor
Related
Use the wsadmin scripting AdminControl object for scripted administration
Troubleshoot applications with HPEL
Use the Performance and Diagnostic Advisor
Start the wsadmin scripting client using wsadmin.sh
Commands for the AdminControl object using wsadmin.sh