Enable the Performance and Diagnostic Advisor
The Performance and Diagnostic Advisor runs in the JVM of appservers and uses PMI data to provide advice for tuning, periodically checking for inefficient settings, and issuing recommendations as standard product warning messages.
To view recommendations...
Troubleshooting | Runtime Messages | Runtime Warning
This page is only appropriate for AIX, Linux, and Windows operating systems.
Enable the advisor has minimal system performance impact.
- Ensure that PMI is enabled, which is default.
The advisor enables the appropriate monitoring counter levels. If specific counters exist that are not wanted, or when disabling the advisor, we might want to disable PMI or the counters that the advisor enabled.
- If running ND, enable PMI on both the server and the administrative agent, and restart both.
- Go to...
Servers | Application servers | server_name | Performance and Diagnostic Advisor Configuration | 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 advice.
- Select the Maximum Warning Sequence.
Number of consecutive warnings 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.
CPU level that indicates a appserver is under production load. To tune appservers 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 we are discarding prepared statements at a high rate, we are notified.
- Specify CPU Saturated.
Level when 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 | Save | Runtime tab | RestartSelect Restart on the Runtime tab to reinitialize the advisor using the last configuration information that is saved to disk.
This action also resets the state of the advisor. For example, the current warning count is reset to zero (0) for each message.
- Simulate a production level load.
The application must run this load without errors. 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 advisor provides advice when CPU utilization exceeds a sufficiently high level only.
For available tools to drive this type of load, see Performance: Links
- Select the check box to enable the advisor.
To achieve the best results for performance tuning, enable the advisor when a stable production-level load is applied.
- Click OK.
- Select Runtime Warnings in the admin console under the Runtime Messages in the Status panel or look in...
$WP_PROFILE/logs/server_name/SystemOut.logSome messages are not issued immediately.
- Update WAS 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 that is based on the advice, and retest for improved performance. This procedure is continued until optimal performance is achieved.
Next steps
We can enable specific advice in the Advice Configuration panel. For example, unbounded 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.
Related tasks
Obtaining advice from the advisors
Performance and Diagnostic Advisor settings
Advice settings
View the Performance and Diagnostic Advisor recommendations
Starting the lightweight memory leak detection