With the broad range of multi-tier 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.
In order 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 eclipse based intelligent tool specifically designed to help users monitor their system and locate performance bottleneck using data analysis and statistical inference technology. Through JMX, The toolkit collects performance data from PMI (Performance Monitoring Interface) of WebSphere Application Server, and gives user a easily understood picture with some charts and forms to locate the bottleneck and tune them appropriately.
Compared with other tools, the main character of our toolkit is that it provides a dynamic framework to allow user to define rules that is suitable for their system, thus 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 has been defined to detect the performance decline and take action automatically. For example, alerts can be generated in the following situations:
- If the heapsize reaches the maximum heap size.
- If the thread pool reaches the threshold.
- If the CPU usage reaches 90%.
- If some servlet error occur.
- If some connection timeout occurs.
- If there are some thread waiting for connection.
- If there are more then 1000 prepared statement discarded.
- If application try to use some invalidated session.
- If there is no room for new session.
- If some hung thread declared.
- If some transactions rolled back.
- If some 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 a number of benefits:
- Lightweight software for WebSphere Application Server, do not need to install or integrate anything to the server side.
- Real time monitoring and interactive analysis.
- Rule based events processing, which allow users add their own diagnostics logic.
- High expansibility.
- Easy to use interface.
It has a number of key functions:
- Data collection from PMI (Performance Monitoring Interface) 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 Peformance Tuning Toolkit, just download and unzip the zip file. You can start it by clicking the PerfTuningToolkit.exe file.
Using the Performance Tuning Toolkit
First, you add one or more hosts and then configure the connections. After you have set up the connection, the toolkit automaticly gets the topology and server information and stores these within 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. See Figure 4.
Figure 4: Adding a new host
Input the information of the host, and check the Security enabled box if security is enabled. Click OK. The host is shown on the left, in the Hosts panel. See 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 PIM 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 to the right side Hosts panel, as shown in 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. Tere are many tabs on the bottom of the page, which enable you to get a number of types of information. On each tab, some items can be expanded or folded depend on need.
There are several graphs on the Monitor window that can be used to diplay 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, Alert. See Figure 7.
Figure 7: Monitoring times
The combine interval options are designed to control the interval of the monitor curve. There are three options: AutoAjustInterval, CombineInterval, and DisintegrationInterval. When you click one of these, the curve time line interval changes immediately and the curve is redrawn. See Figure 8.
Figure 8: Combining intervals
The Performance Tuning Toolkit also provides some debug assistance, such as generate thread dump, generate heap dump and enable trace.
To generate a dump, select the server in the Hosts panel, then select either Generate Thread Dump or Generate Heap Dump from the Operation menu, as shown in Figure 9.
Figure 9: Generating a dump
To enable trace, select the server in the Hosts panel, then select Enable Trace from the Operation menu, as shown in Figure 10.
Figure 10: Enabling trace
In the Trace Detail window, you can select a existing trace type or manually input the trace info in the trace dialog, as shown in Figure 11.
Figure 11: Inputing trace information
Editing the rules file
The customized rules for detecting performance degradation and locating bottlenecks are located 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 very 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.
|Performance Tuning Toolkit for Windows||PerformanceTuningToolkit2_win32.zip||260 MB|
|Performance Tuning Toolkit for Linux||PerformanceTuningToolkit2_linux32.zip||215 MB|
- Tutorial: An Introduction to WebSphere Application Server Performance Tuning Toolkit
- WebSphere Application Server zone
- Case study: Tuning WebSphere Application Server V7 and V8 for performance
Get products and technologies
Dig deeper into WebSphere on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.