WS6PMTWS – WebSphere 6.1 Performance Tuning and Methodology Workshop
Enquire/Book this course
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.
Topics
- Standardized terminology.
- 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, WebSphere administrators, architects, consultants and IT specialists.
Prerequisites:
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. Performance Tuning Foundation
Topics
List of Terms
Load
Active Load
Concurrent Load
Peak Load
Throughput
Throughput Curve
The significance of throughput
Response time
Response Time Curve
Think time
User Ramp Up
Saturation
Response time at system saturation
Response time past the buckle point
Interpreting response time trends
Performance Acceptance Criteria
Measure your system s steady state
Path length
Bottleneck
Dealing with a bottleneck
Scaling
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
Summary
2. WebSphere Queuing Network
Topics
The WebSphere Queuing Network
Basic Tuning Principle
Terms
Open/Closed Queues in WebSphere
Queue Parameter List
IBM HTTP Server 6.0/Apache 2.x
Windows Thread Control
UNIX Threads and Process Control
Configuring MaxClients or ThreadsPerChild
Backlog Queue
Web Container Transport Chain
Configure Transport Chain
TCP Inbound Channel (TCP_2)
Thread Pool
Back to TCP Inbound Channel
HTTP Inbound Channel (HTTP_2)
EJB Method Call Queue
Setting the ORB Queue Values
Data Source Queue
Prepared statements and caching
Configuring Data Source
Configuring Connection Pool Size
Summary
3. Performance Data Gathering
Topics
Problem Determination v.s. Performance Tuning
What May Affect the WebSphere Performance
Performance Monitoring and Tuning in WebSphere
Performance Monitoring Infrastructure (PMI)
How PMI Works
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
Monitoring Performance
JVMPI Monitoring
JVMPI Metrics
Tivoli Performance Viewer
Tasks
Enable Performance Monitoring
Enabling JVMPI data reporting
Launching Tivoli Performance Viewer
Select Performance Data
Monitor IBM HTTP Server
IBM HTTP Server status
Summary
4. Memory Optimization in Java Virtual Machine
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
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
Heap Regions IBM JDK
Heap Regions Sun JDK
Solaris Threading Model
5. Profiling Application Performance
Objectives
What is Application Profiling?
Profiling to Improve Method Performance
Profiling to Detect Memory Problems
Profiling to Detect Synchronization Bottlenecks
Profiling with IBM Support Assistant
Profiling Architecture
Installing the Profiling Agent
Enabling Profiling on the Server
Attaching to the Agent from Health Center
Using the Health Center
Health Center Perspectives
Summary
6. Performance Tuning Techniques
Topics
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 v6
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
7. Troubleshooting
Objectives
Problem Determination
Error Reporting
Networking Problems and Solutions
HTTP Request Problems
HTTP Request Solutions
Other Solutions
Tools for Resolving WebSphere Problems
Admin Console Messages
Configuration Problems
Runtime Messages
Message Details
Important Log Files
Configuring JVM Log Files
Viewing Logs
Event Types
Log Detail Levels
Configuring Tracing
Log File Format
Reading Java Exceptions
Common Exceptions
Server Does Not Start
AST
Importing Log Files Into AST
Log View of AST
dumpNameSpace Tool
Debugging
IBM Tools
Troubleshooting Questions
Troubleshooting Answers
Reference
8. Network Deployment Architecture
Objectives
Workload Management (WLM) Basics
Role of Network Deployment Software
Similarities With Base Edition
Differences With Base Edition
Coexistence With Base Edition
Network Deployment Cell
Deployment Manager and Node Agents
Configuration File Synchronization
Synchronization Problems
WebSphere Profiles - Recap
Network Deployment Profiles
Federating Nodes
Federating an Application Server Profile
Federating a Custom Profile
Adding Nodes
Controlling Deployment Manager and Node Agents
Automatically Starting Servers
Types of WLM
Web Server WLM
Web Module WLM Architecture
Weighted Routing
State Management
Server Affinity
Weighted Routing with Server Affinity
EJB WLM
References
9. WebSphere High Availability Overview
Workload Management and Failover in WebSphere
Server Affinity
Problems With Server Affinity
Server Affinity With Failover
Data Replication Service
Number of Replicas
Replication Security
Enabling Server Affinity Failover
Session Database
Session Tuning
Distributed Session Tuning
Introduction - HAManager
HAManager
HAManager Messaging Service
HAManager - Functioning
Core Group
Core Group Coordinator
10. Dynamic Caching for Web Applications
Introduction
Configuring Dynamic Cache
How Caching Works
Structure of cachespec.xml
URL Based Caching
Session Based Cache
Cache Priority
Configuring Cache Manager
Edge Side Include (ESI) Cache
Configuring ESI Cache
11. Performance Advisors Overview
Topics
Performance Advisors
Performance Advisors in Tivoli Performance Viewer (TPV)
Performance & Diagnostic Advisor
Enabling and Configuring Performance & Diagnostic Advisor
Performance & Diagnostic Advisor
Reference
12. IBM Support Assistant
Objectives
Source of Errors
Support Tools
IBM Support Assistant
ISA Workbench
Customizing the Workbench
ISA Preferences
Search for Information
Case Management
Collecting Information
Guided Troubleshooting
Troubleshooting Tools
Manage Service Requests
Summary
Appendix A. AIX Monitoring Tools and Tuning
topas
Advanced topas Use
svmon
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
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
Network Tuning
Linux Tuning Tips
Appendix D. Sun Java System Web Server 6.0 Tuning
Sun Java System Web Server v6.0 - Basic Concepts
Basic Concepts (cont.)
Monitoring Using stats-xml
Monitoring Using perfdump
Connection Tuning
Socket Listen Tuning
Session Thread Tuning
Keep Alive Tuning
Static File Cache Tuning
DNS Lookup Tuning
Appendix E. DB2 Performance Tuning Techniques
Topics
Logs
Separate DB2 log files from the physical database
Configuration Advisor
Launch Configuration Advisor
DB2/Linux communication
MaxAppls
MaxAgents
Buffer Pool Tuning
Configuring buffpage
Evaluating the buffer pool size
Monitoring the database buffer pool
Query optimization level
Configuring query optimization level
Prepared Statement Caching by DB2
reorgchk
MinCommit
Determining the need to change MinCommit
Guidelines
Session Affinity
Session Cache
Configuring Session Management
Configuring the Session Database
Tuning Session Database I/O
Calculating Average Session Size
Tuning Session Database I/O DB2 Specific Notes