Skip to main content

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

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

All information submitted is secure.

  • Close [x]

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.

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

All information submitted is secure.

  • Close [x]

developerWorks Community:

  • Close [x]

An Introduction to WebSphere Application Server Performance Tuning Toolkit

Uncover performance bottlenecks in your application server infrastructure using this easy to use toolkit

Shishir Narain, IT Architect, IBM
Shishir Narain photo
Shishir Narain is an Open Group certified Master IT Specialist with deep skills in middleware technologies. He works for IBM Software Services for WebSphere, an IBM labs based team focused on providing quality WebSphere consulting to clients. He has worked for the last 14 years leading and delivering software projects for large enterprises as a solution developer and architect. . He holds a Master of Technology degree from Indian Institute of Technology, Kanpur.
(An IBM developerWorks Contributing Author)
Wang Yu, Software Engineer, IBM China
author photo
Wang Yu (Edward) is a software engineer at the IBM China Software Development Lab in Beijing. He is a member of WebSphere Application Server SVT team. He is also interested in WebSphere Application Server performance analysis, performance tuning, problem diagnosis, and high availability.
Tao Zhang, Software Engineer, IBM China
author photo
Zhang Tao (Jordan) joined IBM in 2009. He works in IBM China Software Development Lab WebSphere Application Server SVT team in Beijing. He is interested in WebSphere Migration, Intelligent Management, and high availability.

Summary:  WebSphere® Application Server is one of the key components of enterprise architecture, and performance bottlenecks can affect multiple applications. WebSphere Application Server Performance Tuning Toolkit is an easy to use tool that can be used to uncover performance issues with WebSphere Application Server. This toolkit is very useful in ensuring that you get the maximum out of your infrastructure.

Date:  17 Oct 2012
Level:  Intermediate PDF:  A4 and Letter (1009 KB | 16 pages)Get Adobe® Reader®

Activity:  26135 views
Comments:  

Performance problem scenarios

PTT can be used to resolve various performance problems, including ones arising from:

  • synchronization blocking
  • deadlock
  • high CPU usage
  • connection leaks
  • memory leaks

Synchronization blocking problems

In this scenario, threads are blocked due to synchronization. The application continuously calls a static synchronized method in which the thread sleeps several seconds.


Sample code changes in the DayTrader application to induce this scenario are shown below:

// For Synchronization Blocking
if(TradeConfig.isThreadHang()){
  syncMethod();
}

public static synchronized void syncMethod(){
  try {
    Thread.sleep(TradeConfig.getHangTime());
  } catch (InterruptedException e) {
     e.printStackTrace();
  }
}

To simulate this issue, ensure that the JMeter stress is running and the PTT is monitoring the server. Open the Server tab of the DayTrader page (http://hostname:port/daytrader). The error reproduction options are shown in Figure 10. In order to trigger the synchronization blocking problems, select the Synchronization Blocking checkbox in the Server tab and update the runtime configuration.


Figure 10: DayTrader configuration screen
configuration screen

Within a few minutes, the issues shown in Figure 11 begin to occur.


Figure 11: Overview screen showing problems
overview                         screen showing problem response time

On opening the dashboard monitor (Figure 12), you can see alerts and the degradation in servlet response time.


Figure 12: PTT dashboard showing more details of the problem
dashboard                         details

To investigate this issue further, you must determine why the servlet response time is increasing. Java provides the ability to get run time process details without having to switch to debug mode. You can use Thread Dump, which is essentially a point-in-time snapshot of all threads running inside the Java Virtual Machine (JVM), to learn more about the problem. Thread dump provides the stack trace of the Java threads and shows the methods and lines being executed at that point of time. To dump the thread, right click on the servlet in the Topology pane and select Generate Thread Dump (see Figure 13).


Figure 13: Generating Thread Dump using PTT Workbench
screen                         shot showing how to generate a thread dump

The Thread Dump is generated in the profile root folder of the server. This file can be analyzed using the Thread and Monitor Dump Analyzer tool in the IBM Support Assistant. Create a case in IBM Support Assistant and import this Thread Dump file, then analyze this file using the Thread and Monitor Dump Analyzer tool (see Figure 14). You can now check the analysis results to further narrow down the problem. The file javacore.xxxx_jca.html contains the detailed result (Figure 15).


Figure 14: Thread and Monitor Dump Analysis using IBM Support Assistant
using ISA                         to analyze a thread dump

Click the Java Monitor Dump file link to get the further details.


Figure 15: Detailed Monitor Dump Analysis using IBM Support Assistant
detailed                         dump analysis

Notice that the dump clearly points out the problem and the code that is causing the problem.

4 of 9 | Previous | Next

Comments



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=838129
TutorialTitle=An Introduction to WebSphere Application Server Performance Tuning Toolkit
publish-date=10172012
author1-email=nshishir@in.ibm.com
author1-email-cc=
author2-email=wyuyuw@cn.ibm.com
author2-email-cc=
author3-email=zhangtbj@cn.ibm.com
author3-email-cc=