WebSphere Application Server Performance Tuning Toolkit

The WebSphere® Application Server Performance Tuning Toolkit is an Eclipse-based intelligent tool designed to help users tune the performance of WebSphere Application Server using data collection, data analysis, and statistical inference technology. It is designed to help users locate bottlenecks and tune their applications appropriately.

developerWorks WebSphere Editorial Team, Content Editors, IBM

This content is brought to you by the developerWorks WebSphere editorial team: Jim Mann, Jim Ramaker, Chris Rothemich, Scott Shekerow, and Dorothy Wu.



12 December 2011

Also available in Chinese Japanese

Background

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.


Overview

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
diagram showing four main functional areas

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
    panel showing three performance graphs
    Figure 3: Drilling down to detailed data
  • Generation of artifacts (thread dump and heap dump) or enabling trace.

Installation and use

Installation

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
window for 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
dialog for 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
graphs showing host performance details

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.

Monitoring times

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

Combining intervals

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
graphs showing combined intervals

The Performance Tuning Toolkit also provides some debug assistance, such as generate thread dump, generate heap dump and enable trace.

Generating dumps

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
screen showing menu for generating a dump

Enabling trace

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
screen showing menu for 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
dialog panel for inputting 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
window for editing rules

The syntax is very flexible and easy to use. Over time, more rules will be consolidated into the toolkit.


Forum

We are eager to hear your comments about this technology. We encourage you to post them on this forum.


Downloads

DescriptionNameSize
Performance Tuning Toolkit for WindowsPerformanceTuningToolkit2_win32.zip260 MB
Performance Tuning Toolkit for LinuxPerformanceTuningToolkit2_linux32.zip215 MB

Resources

Learn

Get products and technologies

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into WebSphere on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=949709
ArticleTitle=WebSphere Application Server Performance Tuning Toolkit
publish-date=12122011