WebSphere Application Server Performance Tuning Toolkit
With the broad range of multitier architecture applications based on Java EE deployed at the enterprise level, performance problems can be more of an issue and harder to diagnose. The multi-layer architecture makes the performance problems hard to locate, and it takes more time and effort to investigate and locate performance bottlenecks. The impact from performance issues can be severe.
To get maximum capacity form WebSphere Application Server applications, it’s important to monitor and tune their performance. WebSphere Application Server Performance Tuning Toolkit helps you to do so.
The WebSphere Application Server Performance Tuning Toolkit (PTT) is an intelligent tool that is based on Eclipse. It helps users monitor their system and locate performance bottleneck by using data analysis and statistical inference technology. Through JMX, The toolkit collects performance data from Performance Monitoring Interface (PMI) of WebSphere Application Server, and gives users an easy-to-understand picture with charts and forms to locate the bottleneck and tune them appropriately.
Compared with other tools, this toolkit provides a dynamic framework that allows users to define rules that are suitable for their system, greatly increasing the accuracy of performance problem detection and diagnostics. Figure 1 summarizes the main function of this toolkit.
Figure 1. Summary of the main functions of the Performance Tuning Toolkit
Some common rule have been defined to detect the performance decline and take action automatically. For example, alerts can be generated in the following situations:
- If the heap size reaches the maximum heap size
- If the thread pool reaches the threshold
- If the CPU usage reaches 90%
- If a servlet error occurs
- If a connection timeout occurs
- If there are threads waiting for connection
- If more than 1000 prepared statements are discarded
- If an application tries to use an invalidated session
- If there is no room for a new session
- If a hung thread is declared
- If transactions are rolled back
- If transactions timeout
You can also define your own rules according to the indicator of their system. For example, you can set a proper threshold for response time of each servlet as below.
rule "ServletEvent" when ServlentEvent(responseTime>1500, name=="Trade"); then String description = "response time extends the limits"; processData.addAlert("servlet", description);} end
Benefits and features
The Performance Tuning Toolkit offers several benefits:
- Lightweight software for WebSphere Application Server so that you do not need to install or integrate anything to the server side
- Real-time monitoring and interactive analysis
- Rule-based events processing, which allows users add their own diagnostics logic
- High expansibility
- Easy-to-use interface
It has the following key functions:
- Data collection from PMI and consolidation of this data into a data cube
- Rule-based event processing
- Analysis by graphic views and drill-down to the detailed data (see
Figures 2 and 3)
Figure 2. Graphical view analysis
Figure 3. Drilling down to detailed data
- Generation of artifacts (thread dump and heap dump) or enabling trace
Installation and use
To install the Performance Tuning Toolkit, download and extract the compressed file. To start it, click the PerfTuningToolkit.exe file.
Using the Performance Tuning Toolkit
First, you add one or more hosts and then configure the connections. After you set up the connection, the toolkit automatically gets the topology and server information and stores them in the toolkit. You can add, edit, or delete a host at any time.
Adding a host
Click the Add a new host button to create a new host (Figure 4).
Figure 4. Adding a new host
Enter the information for the host, and select the Security enabled box if security is enabled. Click OK. The host is shown on the left, in the Hosts panel (Figure 5).
Figure 5. Specifying host information
Connecting to a host
In the left host panel, double-click the host name to connect to the host. You are then asked if you want to customize the PMI settings with the displayed strings. Click Yes to connect to and monitor the server.
Obtaining information about hosts
Click the server name in the topology panel. The Monitor window opens on the right side Hosts panel (Figure 6).
Figure 6. Monitoring the host
The Monitor windows show the statistical information and the trend curves. You can easily analyze the trend in many aspects and find the potential problems in servers. You can use the tabs at the bottom of the page to get more information. On each tab, you can expand or collapse items, depending on what you need.
Several graphs on the Monitor window can be used to display information about times: Servlet Response Time, Transaction Response Time, Jdbc Response Time, Servlet Throughput, Transaction Throughput, Jdbc Throughput, Concurrency, Http Session, CPU usage, Java Heap, and Alert (Figure 7).
Figure 7. Monitoring times
The combine interval options control the interval of the monitor curve. There are three options: AutoAjustInterval, CombineInterval, and DisintegrationInterval. When you click one of these options, the curve timeline interval changes immediately, and the curve is redrawn. See Figure 8.
Figure 8. Combining intervals
The Performance Tuning Toolkit also provides debug assistance, such as generate a thread dump, generate a heap dump, and enable trace.
To generate a dump, select the server in the Hosts panel, and then select Generate Thread Dump or Generate Heap Dump from the Operation menu (Figure 9).
Figure 9. Generating a dump
To enable trace, select the server in the Hosts panel, and then select Enable Trace from the Operation menu (Figure 10).
Figure 10. Enabling trace
In the Trace Detail window, you can select an existing trace type or manually enter the trace information in the trace dialog (Figure 11).
Figure 11. Entering trace information
Editing the rules file
The customized rules for detecting performance degradation and locating bottlenecks are in the rules file. To examine or edit the rules file, select Edit Rules from the Analysis menu. Figure 12 shows a rules file.
Figure 12. Editing the rules file
The syntax is flexible and easy to use. Over time, more rules will be consolidated into the toolkit.
We are eager to hear your comments about this technology. We encourage you to post them on this forum.
- Tutorial: An Introduction to WebSphere Application Server Performance Tuning Toolkit
- Problem Diagnostics Lab Toolkit
- Case study: Tuning WebSphere Application Server V7 and V8 for performance
- WASDev Developer Center
- IBM Middleware User Community