WA1359 WebSphere V6 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. 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
  • 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
 

5. 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
  • Prepared Statement Caching by DB2
  • Overview
  • 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
  • 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
 

6. Application Tracing and Troubleshooting

  • Topics
  • Resources for Problem Determination
  • Access Log
  • Error Log
  • Start Up Error
  • Java Logging API
  • Java Logging API
  • Log Types
  • Example WebSphere Log File
  • Understanding Java Stack Trace
  • Application Server Logs
  • Service Logs
  • Native Log
  • Web Server Plug-in Log
  • WebSphere Log Files
  • Default Profile Log Files
  • Server Log Files
  • Can t Keep Them Straight?
  • Application Tracing
  • Application Tracing
  • Tools for Tuning and Troubleshooting
  • Tools for Tuning and Troubleshooting
  • Collector
  • Running Collector
  • Information Collected
  • FFDC
  • dumpNameSpace
  • HTTP Sessions Errors
  • IBMTrackerDebug Output
  • Installation Information
  • Java Stack Dump
  • Configure Application Server Traces
  • Select the Log or Trace
  • Diagnostic Trace Options
  • Trace Specification
  • Logging/Tracing Facts
  • Log Analyzer
  • Launching Log Analyzer
  • Use Log Analyzer
  • Log Analyzer Interface
  • Preferences
  • Log Type and Sorting
  • Adjust Log Analyzer Settings Set Log Record Format
  • UOW Format
  • Activity Record Format
  • Merge Logs
  • Merge Logs
  • Update Symptom Database
  • Overview
  • Debugging Service
  • Rational Application Developer
  • Summary
 

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

8. Network Deployment Architecture

  • Network Deployment Pre-installation
  • Network Deployment Pre-installation
  • Network Deployment Coexistence with WAS-Base
  • Network Deployment Coexistence with WAS-Base
  • Centralized Administration
  • Deployment Manager
  • Cell
  • Nodes
  • The addNode Command
  • addNode - Steps
  • removeNode Command
  • cleanupNode
  • Synchronization
  • Configuring Automatic Synchronization
  • Manual Synchronization
  • syncNode
  • Clusters
  • Create a Cluster
  • Add Clustered Servers
  • Server Weight
  • Cluster Summary
  • Managing Cluster Members
  • Adding a Cluster Member
  • Start/Stop Cluster
  • Configuring the Web Server
  • Web Server Integration Architecture
  • Installing Software in the Web Server Machine
  • Registering the Web Server in WebSphere
  • Working With plugin-cfg.xml
  • The plugin-cfg.xml File
  • Root Configuration Element
  • DNS Failures
  • Config Overview
  • The Plugin Log
  • Virtual Host Groups
  • Virtual Host Groups
  • Server Clusters
  • Server Clusters
  • ServerCluster
  • ServerCluster
  • Server
  • Server
  • Server
  • Primary and Backup Servers
  • Primary and Backup Servers
  • URI Groups
  • Route
  • Route Configuration
  • Example Route
 

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
 

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