JBoss Performance Tools and Methodology workshop
JBoss Training Overview

This course provides in depth information on how to tune the JBoss App 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 Training Topics

  • 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
JBoss Training Prerequisites

Good experience with JBoss application development and/or QA. Some JBoss admin introductory knowledge required

JBoss Training 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
JBoss Training Audience

System Administrators,QA team members, developers, architects, consultants and IT specialists.

JBoss Training Course Duration

3 Days

JBoss Training 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
  • 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
  • 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
Minimum Hardware Requirements
  • 650 Mhz Pentium III
  • 384 MB RAM minimum, 512 MB recommended
  • 8 GB
  • Network connection (Ethernet or token ring card)
  • Network connectivity to the internet
Minimum Software Requirements
  • Microsoft Windows 2000
  • Adobe Acrobat Reader V6.0
  • Internet Explorer 6.0 or higher.
  • WinZip 8.0 (or higher)
  • Microsoft Windows 2000
  • JDK v1.5.0_04(jdk-1_5_0_04-windows-i586-p.exe)
  • JBoss 4.0.3(jboss-4.0.3.zip)
  • MySQL 5.0.19 (mysql-essential-5.0.19-win32.msi)
  • MySQL JDBC Driver (mysql-connector-java-3.1.12.zip)
  • Apache 2.0.55 (apache_2.0.55-win32-x86-no_ssl.msi)
  • JMeter Stress Testing Tool (jakarta-jmeter-2.1.zip)
  • Tomcat Connector mod_jk-apache-2.0.55.so
  • chainsaw (chainsaw-bundle.zip)

Contact Information
WINTRAC INC. - the one stop shopping center for IT training.
16523 S.W. McGwire Ct. Beaverton OR -97007
Phone: (503) 259-0312
Fax: 707-598-2268
Email: sales@wintrac.com

Send mail to webmaster@wintrac.com with questions or comments about this web site.
Copyright © 2002 Wintrac Inc.