Performance and Diagnostic Advisor (PADA) is the tool which is available as part of WebSphere Application Server and mainly responsible for analyzing PMI data for a period of time and provide configuration advice based on PMI Data and server configuration.
Running in the background of the application server, this advisor gathers the necessary performance data from PMI, analyzes it, and provides recommendations based on the current system load. Since the advisor uses PMI data, you must first enable the performance monitoring (PMI) service on the application server. The runtime performance advisor is configured using the WebSphere administrative console. Some of the primary settings include enabling the PADA itself, setting the number of CPUs on the application server machine, and setting the frequency at which the advisor is run. It is also possible to enable and disable specific advice. Performance and Diagnostic Advisor is based on rules, which is responsible for triggering advise in the form of Alert.
You can enable Performance and Diagnostic Advisor using WAS admin console by following these steps:
Ensure that PMI is enabled, which is default.
In the Integrated Solutions Console (ISC), go to Servers > Server Types > WebSphere application servers.
Select the server for which you want to enable Performance and Diagnostic Advisor and go to its detail page.
On the server detail page click the Performance And Diagnostic Advisor Configuration link.
Under the Configuration tab, select the "Enable Performance and Diagnostic Advisor Framework" checkbox.
Specify the number of processors on the server. This setting is critical to ensure accurate advice for the specific configuration of the system.
Select the Calculation Interval. PMI data is taken over time and averaged to provide advice. The calculation interval specifies the length of time over which data is taken for this advice. Therefore, details within the advice messages display as averages over this interval.
Select the Maximum warning sequence. The maximum warning sequence refers to the number of consecutive warnings that are issued before the threshold is updated. For example, if the maximum warning sequence is set to 3, then the advisor sends only three warnings, to indicate that the prepared statement cache is overflowing. After three warnings, a new alert is issued only if the rate of discards exceeds the new threshold setting.
Specify Minimum CPU for Working System. The minimum central processing unit (CPU) for a working system refers to the CPU level that indicates a application server is under production load. Or, if you want to tune your application server for peak production loads that range from 50-90% CPU utilization, set this value to 50. If the CPU is below this value, some diagnostic and performance advice are still issued. For example, regardless of the CPU level if you are discarding prepared statements at a high rate, you are notified.
Specify CPU Saturated. The CPU saturated level indicates at what level the CPU is considered fully utilized. The level determines when concurrency rules no longer increase thread pools or other resources, even if they are fully utilized.
Click the Apply button. Click the Save link.
Click the Runtime tab.
Click Restart. Select Restart on the Runtime tab to reinitialize the Performance and Diagnostic Advisor using the last configuration information that is saved to disk.
This action also resets the state of the Performance and Diagnostic Advisor. For example, the current warning count is reset to zero (0) for each message.
Running in the JVM of the application server, the PADA checks for inefficient settings and issues recommendations as
standard product warnings messages. These recommendations are displayed both as warnings in the administrative
console under Runtime Messages in the WebSphere Application Server Status panel and as text in the application
SystemOut.log file. Enabling the Performance and Diagnostic Advisor has minimal system
You can also use the Performance and Diagnostic Advisor to enable the lightweight memory leak detection, which is designed to provide early detection of memory problems in test and production environments.