WSV5PMW – WebSphere v5.1 Performance Tuning Tools & Methodology Workshop

Enquire/Book this course

  • This field is for validation purposes and should be left unchanged.
Print this page
  • Code: WSV5PMW
  • Duration: Days 3
  • Price per delegate: £1,295 +VAT

Trained over 60000 delegates

Course delivered by industry expert instructors

Highly competitive pricing


Course Description

This course provides in depth information on how to tune WebSphere, database server, web server and the operating system to extract the last drop of performance. It covers performance tuning methodology, how to detect a bottleneck and common problems and solutions. After taking this class, students will be able to methodically create a stress testing plan and find bottlenecks and resolve them.

The students will perform hands on lab to create test scripts, perform stress test and gather key performance numbers. The class is generic as far as the stress testing tool is concerned. The concepts learned in this class can be used with any tool of choice.

Standardized terminionology.
Stress testing and tuning methodology.
Gathering key performance numbers using various tools.
Common WebSphere bottlenecks.
OS (AIX/Solaris) tuning tips
DB2 tuning tips
WebSphere best practices
Problem determination techniques

Target Student:
QA team members, developers, architects, consultants and IT specialists


Good experience with WebSphere application development and/or QA. Some WebSphere admin introductory knowledge required

Delivery Method:

Instructor led, group-paced, classroom-delivery learning model with structured hands-on activities.

Performance-Based Objectives:

After completing this course, the student should be able to:

  • Understand the performance testing methodology 
        — How to standardize the terminology for better communication.
        — How to methodically stress test and discover bottlenecks.
       — How to measure if a system will meet performance expectations.
  • Identify potential bottlenecks in WebSphere® applications
  • Analyze application performance with Websphere performance tools
  • Create test cases
  • Improve application databases configurations for optimal performance
  • Know how to monitor applications after deployment

Course Content

1. Foundation
List of Terms
Active Load
Concurrent Load
Peak Load
Throughput Curve
The significance of throughput
Response time
Response Time Curve
Think time
User Ramp Up
Response time at system saturation
Response time past the buckle point
Interpreting response time trends
Interpreting response time trends
Performance Acceptance Criteria
Measure your system™s steady state
Path length
Dealing with a bottleneck
Horizontal and vertical scaling
Analyze before trying to scale
Calculating QA User Count
Accommodating QA User Count
Scaling Up QA Configuration
Bottom Up and Top Down
Bottom Up Testing

2. WebSphere Queuing Network
The WebSphere Queuing Network
Basic Tuning Principle
Open/Closed Queues in WebSphere
Queue Parameter List
Configuring MaxClients or ThreadsPerChild
UNIX Process Control
Backlog Queue
Keep Alive Settings
Web Container Queue
Web Container Thread
Configure the Web Container Thread Pool
HTTP Transport Properties
HTTP Transport Prpoerties (cont.)
Configuring HTTP Transport Properties
Example: Configuring MaxKeepAliveConnections
Taking Advantage of Backlog
EJB Method Call Queue
Setting the ORB Queue Values
Data Source Queue
Prepared statements and caching
Configuring Data Source
Configuring Connection Pool Size

3. Performance Data Gathering
Performance Monitoring and Tuning in WebSphere
Performance Monitoring Infrastructure (PMI)
How PMI Works
PMI Performance Data
PMI Metrics Thread Pools
PMI Metrics Web Application
PMI Metrics - Transaction
PMI Metrics - EJB
PMI Metrics Data Source
PMI Metrics Memory Usage
PMI Metrics HTTP Session
Rating the Impact of Performance Monitoring
JVMPI Monitoring
JVMPI Metrics
Tivoli Performance Viewer
Enable Performance Monitoring
Enabling JVMPI data reporting
Launching Tivoli Performance Viewer
Please Note
One More Thing
When Security is Enabled
Configure Monitoring Settings
Setting the Instrumentation Level
Viewing Performance Data
Viewing Performance Chart
Start Logging Data
Specify Log File
Storing and Replaying Data from a Log File
Changing Display Options
The PMI Servlet
The PMI Servlet (cont )
Metric Tags
Monitor IBM HTTP Server
Monitor IBM HTTP Server
IBM HTTP Server status

4. Monitoring Memory and the CPU
What is this chapter about?
Performance Considerations
Performance Concerns
The Heap
The Heap (cont.)
Heap Limit
Default Initial Heap Size
Heap Top
Default Maximum Heap Size
Configure the heap in WebSphere
Allocation Failure
Garbage Collection
Heap Regions IBM JDK
Heap Regions Sun JDK
Enable verbose garbage collection
Analyzing Verbose GC - IBM
Analyzing Verbose GC - Sun
Thread Local Heap (TLH)
Memory Tuning Goals
Effect of Initial Heap Size on GC
Controlling the GC Timings
Optimizing GC
Solaris Threading Model
WebSphere Profiling Architecture
Install the IBM Agent Controller - Windows
Install the IBM Agent Controller - UNIX
Start the IBM Agent Controller
Enable profiling on the application server
Begin Profiling
Attach a monitor to a JVM
Class Filter Option
Profile Type Option
Start monitoring
Detecting Memory Leak
Class Statistics
Detecting Heavy CPU Usage
End to End Call Chain Analysis
Execution Table
Refresh Views
Save performance data
Stop Profiling

5. AIX Monitoring Tools and Tuning
AIX Work Load Management
Work Load Management
WLM Classes
Predefined Classes
Resource Metrics
Share Value of a Resource
Classification Attributes
Other Class Attributes
Basic WLM Administration
Basic Administration
WLM Monitoring Tools
Advanced topas Use
Generating svmon Reports
The monitor Tool
Network Buffer Tuning
Network Dropped Packets Resolution
Network Statistics Report
TCP/UDP Buffer Tuning
System Activity Report
Disk I/O Report
Reduce IO Bottleneck
Using filemon
Using vmstat
Tuning VMM Policy

6. Performance Tuning Techniques
Basic Methodology
Problem Areas
CPU utilization
The components of CPU usage
Measure CPU utilization everywhere
Symptoms of underutilization
What causes underutilization?
Network capacity problem?
Synchronization problem?
Slow external resource?
Is the test pushing the system hard enough?
Does your system scale?
Symptoms of burstiness
Infrequent synchronization problem?
Test driver synchronization problem?
Slow back-end systems?
Slow garbage collection?
Timeout problems?
Erratic network traffic?
Symptoms of over utilization
High User CPU
High System CPU
High Wait CPU
Server hanging
Thread dump in WebSphere v5
Analyzing a Thread Dump
Uneven cluster loading
Load balancer configured correctly?
Plan of attack
Tuning the WebSphere Queuing Network
Tuning Static Content
Recall: Basic Tuning Principle
EJB instance cache size
Disable Web Application Auto Reload
Enable Pass By Reference
Relax Transaction Isolation Level
Optimize Access Intent
Cache JNDI Objects
Database Connection Handling
Prepared Statement Caching
Tuning the Prepared Statement Cache
Prepared Statement Caching by DB2
Separate DB2 log files from the physical database
Configuration Advisor
Launch Configuration Advisor
DB2/Linux communication
Buffer Pool Tuning
Configuring buffpage
Evaluating the buffer pool size
Monitoring the database buffer pool
Query optimization level
Configuring query optimization level
Determining the need to change MinCommit
Guide Lines
Session Affinity
Session Cache
Configuring Session Management
Tuning Session Database I/O
Configuring the Session Database
Calculating Average Session Size
Tuning Session Database I/O DB2 Specific Note

7. WebSphere Problem Determination
Resources for Problem Determination
Access Log
Error Log
Start Up Error
The JRAS Toolkit
JRAS Log Types
Common Log Format
Example WebSphere Log Using JRAS
Understanding Java Stack Trace
Application Server Logs
Configure JVM Logs
Configure JVM Logs (cont )
Service Logs
Configuring Activity Log
Native Log
Configuring Native Logs
Web Server Plug-in Log
WebSphere Log Files
Server Log Files
Can™t Keep Them Straight?
Application Tracing
Application Tracing
Diagnostic Trace Options
Trace Specification
Trace Specification String
Runtime Trace Options
Tools for Tuning and Troubleshooting
Tools for Tuning and Troubleshooting
Collector * Running Collector
First Failure Data Capture (FFDC)
HTTP Sessions Tracker Servlet
IBMTrackerDebug Output
Installation Information
Java Stack Dump
Thread Analyzer
Viewing Transactions
Log Analyzer
Launching Log Analyzer
Use Log Analyzer
Log Analyzer Interface
Log Type and Sorting
Adjust Log Analyzer Settings Set Log Record Format
UOW Format
Activity Record Format
Merge Logs
Merge Logs
Update Symptom Database
Debugging Service
WebSphere Studio

8. Problem Determination Techniques
Steps to Follow
WebSphere specific Notes
Problem With Installation
Server Does Not Start
404 File Not Found
500 Internal Server Error
Cannot Find Server or DNS Error
Virtual Host Not Found
JSP Compilation Problem
Class Not Found Error
JNDI Name Not Found
High CPU Usage
Application Server Hanging

9. WebSphere Best Practices
Best Practices

Appendix A. Sun ONE Web Server 6.0 Tuning
iPlanet v6.0 - Basic Concepts
Basic Concepts (cont.)
Monitoring Using stats-xml
Monitoring Using perfdump
Connection Tuning
Connection Tuning (cont.)
Socket Listen Tuning
Session Thread Tuning
Keep Alive Tuning
Static File Cache Tuning
DNS Lookup Tuning

Appendix B. Solaris Monitoring and Tuning

The vmstat Command
The mpstat Command
The iostat Command
The netstat Command
netstat (cont.)
Increasing the Connection Backlog
Minimize Packet Fragmentation
Reduce Socket Overhead
Recover from Browser Disconnects
Kernel Tuning
Minimize Page Scanning

Appendix C. Linux Monitoring and Tuning
Monitoring Tools
The uptime Command
The top Command
The iostat Command
The vmstat Command
The pmap Command
Kernel Parameter Tuning
Increase Maximum File Descriptor Limit
Increase Maximum File Descriptor Limit
Network Tuning
Network Tuning
Linux Tuning Tips
Linux Tuning Tips

Appendix D. Monitoring memory and the CPU with JProbe
What is JProbe Suite?
What JProbe provides
Create JProbe Memory Debugger session settings
Start monitoring
Runtime Heap Summary
Instance Summary
Request garbage collection
Setting a checkpoint
œChange values
What is a Use Case?
How a Use Case works
Execute a Use Case
Memory Debugger creates a snapshot
Analyze a snapshot
Class View
Instance Detail View
Referrers and References
Reference Graph View
Complex Reference Graph View
Leak Doctor
Launch the Leak Doctor
Leak Doctor™s analysis
Remove a reference
JProbe Threadalyzer
Configuring Threadalyzer
Running a Test
Threadalyzer Browser
Data Collection Options
JProbe Profiler
Configuring the Profiler
Running a Profiling Session
Analyzing Statistics