JBoss 4.2 Performance Tuning Training

Course #:WA1617

JBoss 4.2 Performance Tuning Training

This course provides in depth information on how to tune the JBoss Application Server, and the relevant database server, web server as well as the operating system to extract the last drop of performance. It covers a performance tuning methodology, how to detect a bottleneck and common problems and solutions. After taking this class, students will be able to methodically create a performance testing plan and find bottlenecks and resolve them.

The students will perform hands on labs to tune JBoss server’s different containers – Web container and the EJB container, and also gather key performance numbers.

  • JBoss Processing Pipeline
  • Data Gathering
  • Monitoring Memory and CPU
  • Performance Tuning Techniques
  • JBoss Problem Determination
  • O/S (AIX/Solaris) tuning tips
  • MYSQL tuning tips
  • JBoss best practices
  • Problem determination techniques
What you will learn
  After completing this course, the student should be able to:
  • Understand the performance testing methodology
    • How to standardize the terminology for better communication.
    • How to tune the JBoss Server – Web and the EJB container.
    • How to measure if a system will meet performance expectations.
  • Identify potential bottlenecks in JBoss applications
  • Analyze application performance with JBoss Tuning Techniques
  • Improve application databases configurations for optimal performance
  • Know how to monitor applications after deployment
  System Administrators,QA team members, developers, architects, consultants and IT specialists.
  Good experience with JBoss application development and/or QA. Some introductory JBoss administrative knowledge required. The following course can provide the required JBoss administrative skills. WA1364 - JBoss Application Server v4 Administration
  Three days.

Outline of JBoss 4.2 Performance Tuning Training

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
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.