Course Content
Performance Methodology
- Terms for Performance Analysis
- Isolating and Mitigating Bottleneck
- Identifying Outcomes for Tuning
- Setting up Regular Monitoring
Observing the System
- Common performance tools
- Interpreting sar, vmstat, and iostat output
- Third-party analysis tools
- Inferring trouble from system reports
CPU Performance Measurement
- Calculating the impact of caches and busses
- Observing caching performance
- Using CPI to measure utilization
- Tuning the process scheduler
Managing Processes & Threads
- Measuring Process Utilization
- Physical and Virtual Process Size
- Tracing A Process
- Tracing a Virtual Machine
Memory Management
- How Virtual Memory Works
- Swapping vs. Paging Behavior
- Large/Huge Page Size Support
Tuning Disk to I/O Demand
- Utilization, Saturation & Throughput
- Sequential & Random Demand
- Plotting Disk Activity
Observing File System Latency
- The STREAMS model for I/O
- Matching Workload to I/O Services
- SAN/NAS File Systems
- What Distributed File Systems Do
Tuning for the Network
- Observing Network Latency
- Calculating Distance in Hops
Solaris-specific Tools
- prstat
- truss
- p-tools
- DTrace
Linux-specific tools
- top
- strace
- valgrind
- SystemTap
JVM-specific tools
- jps
- jstat
- jhat
- VisualVM
- JMX telemetry