Use the Performance and Diagnostic Advisor
The advisors analyze the Performance Monitoring Infrastructure (PMI) data of WebSphere Application Server using general performance principles, best practices, and WAS-specific rules for tuning.
This topic is only appropriate for AIX, Linux, and Windows operating systems.
The Performance and Diagnostic Advisor provides advice to help tune systems for optimal performance and is configured using the WAS administrative console or the wsadmin tool (scripting). The Performance and Diagnostic Advisor uses Performance Monitoring Infrastructure (PMI) data to provide recommendations for performance tuning. Running in the JVM of the application server, this advisor periodically checks for inefficient settings, and issues recommendations as standard product warning messages. View these recommendations by clicking...
Troubleshoot > Runtime Messages > Runtime Warning
Enabling the Performance and Diagnostic Advisor has minimal system performance impact.
Tasks
- Ensure that PMI is enabled, which is default.
If PMI is disabled, see enabling PMI using the administrative console. To obtain advice, first enable PMI through the administrative console and restart the server. The Performance and Diagnostic Advisor enables the appropriate monitoring counter levels for all enabled advice when PMI is enabled. If specific counters exist that are not wanted, or when disabling the Performance and Diagnostic Advisor, we might want to disable PMI or the counters that the Performance and Diagnostic Advisor enabled.
- If running WAS ND, enable PMI on both the server and the administrative agent, and restart the server and the administrative agent.
- In the administrative console navigation tree, click...
Servers > Application servers > server > Performance and Diagnostic Advisor Configuration
- Under the Configuration tab, 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.
This 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 an application server is under production load. Or, to tune the application server for peak production loads that range from 50-90% CPU utilization, set this value to 50. If the CPU is less than this value, some diagnostic and performance advice are still issued. For example, regardless of the CPU level if we are discarding prepared statements at a high rate, we 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 Apply.
- Click Save.
- Click...
server > Performance and Diagnostic Advisor Configuration > 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.
- Simulate a production level load. If we use the Performance and Diagnostic Advisor in a test environment, do any other tuning for performance, or simulate a realistic production load for our application. The application must run this load without errors. This simulation includes numbers of concurrent users typical of peak periods, and drives system resources, for example, CPU and memory, to the levels that are expected in production. The Performance and Diagnostic Advisor provides advice when CPU utilization exceeds a sufficiently high level only. For a list of IBM business partners that provide tools to drive this type of load, see the performance: resources for learning information.
- Select the check box to enable the Performance and Diagnostic Advisor.
Tip: To achieve the best results for performance tuning, enable the Performance and Diagnostic Advisor when a stable production-level load is applied.
- Click OK.
- Select Runtime Warnings in the administrative console under the Runtime Messages in the Status panel or look in the SystemOut.log file, located in the following directory:
profile_root/logs/server
Some messages are not issued immediately.
- Update the product configuration for improved performance, based on advice. Although the performance advisors attempt to distinguish between loaded and idle conditions, misleading advice might be issued if the advisor is enabled while the system is ramping up or down. This result is especially likely when running short tests. Although the advice helps in most configurations, there might be situations where the advice hinders performance. Because of these conditions, advice is not guaranteed. Therefore, test the environment with the updated configuration to ensure that it functions and performs better than the previous configuration.
Over time, the advisor might issue differing advice. The differing advice is due to load fluctuations and the runtime state. When differing advice is received, we need to look at all advice and the time period over which it is issued. Advice is taken during the time that most closely represents the peak production load.
Performance tuning is an iterative process. After applying advice, simulate a production load, update the configuration based on the advice, and retest for improved performance. This procedure is continued until optimal performance is achieved.
What to do next
We can enable and disable advice in the Advice Configuration panel. Some advice applies only to certain configurations, and can be enabled only for those configurations. For example, unbounded Object Request Broker (ORB) service thread pool advice is only relevant when the ORB service thread pool is unbounded, and can only be enabled when the ORB thread pool is unbounded. For more information on Advice configuration, see the advice configuration settings information.IBM recommends using the High Performance Extensible Logging (HPEL) log and trace infrastructure . We view HPEL log and trace information using the logViewer .
Subtopics
- Performance and Diagnostic Advisor configuration settings
- Advice configuration settings
- View the Performance and Diagnostic Advisor recommendations
- Starting the lightweight memory leak detection
- Enable automated heap dump generation
Obtain advice from the advisors Use High Performance Extensible Logging to troubleshoot applications Enable the Runtime Performance Advisor tool using scripting Performance: Resources for learning