At the completion of this course, the student will be able to
- Understand the principles of performance tuning
- Understand the various components that affect overall system performance
- Understand basic terminology like throughput, bottleneck and burstiness
- Analytically and scientifically perform load tests to assess and improve performance
- Configure and tune WebLogic Server to performance best practices
- Understand how both the Sun and JRockit JVMs interact with WebLogic Server
- Use WebLogic Server and JVM provided performance tools to observe JVM performance
- Configure and tune the Java Virtual Machine memory settings for optimal performance
- Understand (and configure) the impacts of threads, JDBC and JMS on performance
- Understand clustering architecture
WebLogic Training Audience
WebLogic Server administrators, developers and consultants who want to know how best to tune a WebLogic Server environment for high performance production environments
WebLogic Training Prerequisites
Familiarity with basic WebLogic Server administration.
WebLogic Training Course duration
3 Days
WebLogic Training Course outline
1. Performance Tuning Foundation
- Topics
- List of Terms
- Load
- Active Load
- Concurrent Load
- Peak Load
- Throughput
- Throughput Curve
- The significance of throughput
- Response time
- Response Time Curve
- Think time
- User Ramp Up
- 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
- Bottom Up and Top Down
- Bottom Up Testing
- Summary
2. 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
- Server hanging
- Summary
3. Basic Configuration
- What is this Chapter About?
- WebLogic Domain
- Admin Server
- Managed Server
- Application Staging
- Logging
- Server Logs
- Domain Log
- Log Filters
- Admin Port
- Network Channels
- Summary
4. The JVM and Memory
- What is this Chapter About?
- Java basics
- Compilation and Interpretation
- Bytecodes
- Optimizing JVMs
- HotSpot (Sun)
- JRockit (Oracle/BEA)
- Steady State Optimization
- Kinds of Memory
- Threads and the Stack
- The Heap
- Setting Heap Size
- Garbage Collection
- References
- GC Intents
- Throughput
- Pauses
- Infant Mortality
- Generational Garbage Collection
- Summary
5. Sun JDK — HotSpot
- What is this Chapter About?
- -server
- The HotSpot heap
- Default Heap Sizes
- Generations
- Generation sizing
- Garbage Collectors
- Serial
- Throughput
- Concurrent Low Pause
- Incremental (Train)
- Default Garbage Collector
- Selecting a Garbage Collector
- Ergonomics
- Heap Self-tuning
- Tools
- jvisualvm
- jconsole
- Summary
6. BEA/Oracle JDK — JRockit
- What is this Chapter About?
- JRockit Introduction
- The JRockit Heap
- Two Generation
- Single Spaced
- Garbage Collectors
- Automatic Algorithm Selection
- throughput
- pausetime
- deterministic
- Manual Algorithm Selection
- singlepar
- genpar
- singlecon
- gencon
- Compaction
- Tools
- JRockit Mission Control
- JRockit Management Console
- Enabling Management
- JRockit Runtime Analyzer
- JRockit Memory Leak Detector
- JRCMD
- Summary
7. Threads, Execute Queues and Work Managers
- What is this Chapter About?
- Threads
- Socket Reader Threads
- Performance Packs
- Too Many Threads
- Too Few Threads
- Self-Tuning Thread Pools
- Execute Queues
- Backwards Compatibility
- Execute Queue for Servlet or JSP
- Execute Queue for EJB
- Work Managers
- Scope
- Algorithms
- Fair Share
- Response Time
- Context
- Summary
8. JDBC
- What is this Chapter About?
- Connection Pools
- Dynamic Pool Behavior
- Testing
- Transactions
- Local
- Distributed
9. JMS
- What is this Chapter About?
- JMS Overview
- Messaging Domains
- PTP
- Pub-Sub
- Thresholds and Quotas
- JMS Stores
- Persistent Store
- Paging Store
- File Store
- JDBC Store
- Write policy
- Selectors
- Summary
10. Clusters
- What is this Chapter About?
- Clustering Overview
- Single tier cluster
- Multi tier cluster
- LAN Cluster
- MAN CLuster
- WAN Cluster
- Session Failover
- In-Memory
- JDBC
- File
- Load Balancing
- Cluster Heartbeats
- Web Server Plugins
- Hardware Load Balance
- Summary
11. WebLogic Diagnostic Framework
- What is this Chapter About?
- WLDF Overview
- WLDF Architecture
- Diagnostic Services
- Data Creator
- Data Collector
- Data Archive
- Data Manager
- Image Capture
- Event Notifications
- JMX Overview
- MBeans
- Configuration MBeans
- Runtime MBeans
- Summary
Appendix A. Solaris 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
- Increase Maximum File Descriptor Limit
- Network Tuning
- Network Tuning
- Linux Tuning Tips
- Linux Tuning Tips
- Linux Tuning Tips
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. Windows Monitoring and Tuning
- Task Manager
- The netstat Command