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