Enable the Runtime Performance Advisor tool using scripting
We can configure the Runtime Performance Advisor (RPA) using the wsadmin tool or the administrative console.
See the starting the wsadmin scripting client information.
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.
IBM recommends using the High Performance Extensible Logging (HPEL) log and trace infrastructure . We view HPEL log and trace information using the logViewer .
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 that 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. 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 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 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 - 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...
Tasks
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
What to do next
After completing the previous steps, start the server and monitor RPA.
Related:
Performance and Diagnostic Advisor wsadmin AdminControl Use High Performance Extensible Logging to troubleshoot applications Use the Performance and Diagnostic Advisor Start the wsadmin scripting client Commands for the AdminControl object