WA1617 JBoss 4.2 Performance Tuning Training and Courseware Course Outline
|
|
1. Foundation
|
|
- Objectives
- List of Terms
- Load
- Active Load
- Concurrent Load
- Peak Load
- Think time
- User Ramp Up
- Throughput
- Throughput Curve
- The significance of throughput
- Response time
- Response Time Curve
- 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
- Basic Tuning Methodology
- Bottom Up and Top Down Testing
- Bottom Up Testing
|
| |
2. JBoss Processing Pipeline
|
|
- Topics
- The JBoss Processing Pipeline
- Basic Tuning Principle
- Terms
- Open/Closed Components in JBoss
- Configuring Apache 2 Pipeline
- Configuring the Thread Pool
- Backlog Queue
- Keep Alive Settings
- The Web Container Architecture
- Configure the Web Container Pipeline
- Configure the JK Plugin
- Taking Advantage of Backlog
- Configure the EJB Container Pipeline
- Data Source Settings
- Prepared statements and caching
- Configuring Data Source
- Summary
|
| |
3. Performance Data Gathering
|
|
- Basics
- Monitor Apache Web Server
- Monitor the JK Plugin
- Monitor the Web Container
- Monitor JBoss
- Performance Counter Properties
|
| |
4. Monitoring Memory and the CPU
|
|
- What is this chapter about?
- Performance Considerations
- Performance Concerns
- Client or Server VM
- The Heap
- The Heap (cont.)
- Heap Limit
- Heap Top
- Default Heap Sizes
- Configure the Heap in JBoss
- Allocation Failure
- Garbage Collection
- Heap Regions IBM JDK
- Heap Regions Sun JDK
- Analyzing Verbose GC - IBM
- Analyzing Verbose GC - Sun
- Thread Local Heap (TLH)
- Types of Collector In Sun JVM 1.5
- Memory Tuning Goals
- Effect of Initial Heap Size on GC
- Controlling the GC Timings
- Optimizing GC
- Self Optimizing Throughput Collector
- Solaris Threading Model
|
| |
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
- Generation Thread Dump
- Uneven cluster loading
- Load balancer configured correctly?
- Plan of attack
- Tuning the JBoss Queuing Network
- Tuning Static Content
- Recall: Basic Tuning Principle
- EJB Instance Cache Size
- Disable Web Application Auto Reload
- Relax Transaction Isolation Level
- Cache JNDI Objects
- Database Connection Handling
- Prepared Statement Caching
- Tuning the Prepared Statement Cache
- Prepared Statement Caching by DB2
- JVM Related Issues
- Logging
|
| |
6. JBoss Problem Determination
|
|
- Apache Access Log
- Apache Error Log
- Apache Start Up Error
- JK Plugin Log File
- JBoss Log File
- Techniques for Working With the Log Files
- Tracing JBoss
- Remote Debugging JBoss Applications
|
| |
7. Problem Determination Techniques
|
|
- Steps to Follow
- JBoss Specific Notes
- Server Does Not Start
- 404 File Not Found
- 503 Service Temporarily Unavailable
- Cannot Find Server or DNS Error
- Class Not Found Error
- JNDI Name Not Found
- High CPU Usage
- Application Server Hanging
|
| |
8. JBoss Best Practices
|
|
- Best Practices
- Use EJB Local Invocation
- High Performance Data Access
|
| |
9. Additional JBoss Tuning Tips
|
|
- JBoss and Tomcat
- Slim JBoss
- Recompile JBoss
- Optimize the Front End Connector
- Disable Extensive Logging
- Disable Extensive Logging cont
- Disable Debug Information for JSPs
- Turn On JSP Pre-compiling
- The AJP Connector
- The AJP Protocol
- Tuning HTTP Session Replication
- Session Storage
|
| |
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
- Network Tuning
- Linux Tuning Tips
- Linux Tuning Tips
- Linux Tuning Tips
|
| |
Appendix D. MySQL Tuning
|
|
- The Configuration File
- Storage Engines
- Comparative Study
- Guidelines
- Indexes
- Managing Indexes
- Caching Query
- Selective Caching
- INNODB Buffer Pool
- MyISAM Buffer Pool
- Generic Buffer Pools
- Query Tuning Using EXPLAIN
|
| |
| |