WA1370 JBoss 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…
  • 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
 

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…
 

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