Use the Performance and Diagnostic Advisor
The advisors analyze the Performance Monitoring Infrastructure (PMI) data of WAS using general performance principles, best practices, and WAS-specific rules for tuning.
About this task
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 console or the wsadmin tool . The Performance and Diagnostic Advisor uses PMI data to provide recommendations for performance tuning. Running in the JVM of the appserver, this advisor periodically checks for inefficient settings, and issues recommendations as standard product warning messages. View these recommendations by clicking...
Troubleshooting | Runtime Messages | Runtime Warning...in the console. Enabling the Performance and Diagnostic Advisor has minimal system performance impact.
Procedure
- Ensure that PMI is enabled, which is default.
If PMI is disabled, consult the Enabling PMI using the console topic. To obtain advice, first enable PMI through the 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, you might want to disable PMI or the counters that the Performance and Diagnostic Advisor enabled.
- If running ND, you must enable PMI on both the server and the node agent, and restart the server and the node agent.
- Click...
Servers | Application | server_name | 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.
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 CPU for a working system refers to the CPU level that indicates a appserver is under production load. Or, if you want to tune your appserver 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 Apply.
- Click Save.
- 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.
- Simulate a production level load. If you use the Performance and Diagnostic Advisor in a test environment, do any other tuning for performance, or simulate a realistic production load for your 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 topic, Performance: Resources for learning in the subsection of Monitoring performance with third-party tools.
- Select the check box to enable the Performance and Diagnostic Advisor.
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 console under the Runtime Messages in the Status panel or look in the SystemOut.log file, which is located in the following directory:
profile_root/logs/server_nameSome 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, 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 that is based on the advice, and retest for improved performance. This procedure is continued until optimal performance is achieved.
What to do next
You 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 topic, Advice configuration settings.
Performance and Diagnostic Advisor configuration settings
Advice configuration settings
View the Performance and Diagnostic Advisor recommendations
Start the lightweight memory leak detection
Enabling automated heap dump generation
Related tasks
Obtaining advice from the advisors