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