WA1581 WebSphere V6.1 Performance Tuning and Methodology Workshop Training and Courseware Course Outline

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
  • Interpreting response time trends
  • 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
  • Monitor IBM HTTP Server
  • IBM HTTP Server status
  • Summary
 

4. Memory and the IBM 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. Monitoring CPU and Memory Using Rational Application Developer

  • What is this Chapter About?
  • WebSphere Profiling Architecture
  • Architecture
  • Tasks
  • 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
 

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 Log Files
  • Viewing Logs
  • Event Types
  • Log Detail Levels
  • Log File Format
  • Configuring Tracing
  • Reading Java Exceptions
  • Common Exceptions
  • Server Does Not Start
  • 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. IBM Heap Dump Facility

  • Topics
  • What is a Heap Dump
  • Enabling heapdumps on WAS V6.0
  • Causing Heapdumps
  • Understanding Heapdumps
  • Understanding Heapdump file
  • Using HeapDiff
  • Using HeapDiff to Detect Memory Leak
 

12. 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
 

13. IBM Support Tools

  • Topics
  • Source of Errors
  • Support Tools
  • IBM Support Tools
  • IBM Support Assistant (ISA)
  • IBM Electronic Services
 

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
  • Increase Maximum File Descriptor Limit
  • Network Tuning
  • Network Tuning
  • Linux Tuning Tips
  • Linux Tuning Tips
  • 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