Course Overview

This course discusses system architecture with emphasis on:

  • Understanding the implications on system performance
  • Methods for testing the effects of performance adjustments
  • Open source benchmarking utilities
  • Methods for analyzing system and networking performance
  • Tuning configurations for specific application loads

This course can also help you prepare for the Red Hat Certificate of Expertise in Performance Tuning exam (EX442).

Course content summary

  • Tuning for use-case scenarios (for example, HPC, large memory, database, and file server)
  • Applying tuning profiles with tuned
  • Tuning virtual machines (primarily guest, but host is discussed)
  • Tuning memory and caches
  • Tuning CPU and memory utilization using cgroups (integrated in systemd)
  • Gathering performance metrics and other data for tuning purposes

In preparation

Red Hat recommends that candidates earn Red Hat Certified System Administrator (RHCSA) or Red Hat Certified Engineer (RHCE) before attempting this exam but neither is required.Candidates should be able to perform the tasks listed below:

  • Use utilities such as vmstat, iostat, mpstat, sar, gnome-system-monitor, top, powertop and others to analyze and report system and application behavior
  • Configure systems to provide performance metrics using utilities such as Performance Co-Pilot (PCP)
  • Use the Pluggable Authentication Modules (PAM) mechanism to implement restrictions on critical system resources
  • Use /proc/sys, sysctl and /sys to examine and modify and set kernel run-time parameters
  • Use utilities such as dmesg, dmidecode, x86info, sosreport etc. to profile system hardware configurations
  • Analyze system and application behavior using tools such as ps, strace, top and Valgrind
  • Configure systems to run SystemTap scripts
  • Alter process priorities of both new and existing processes
  • Configure systems to support alternate page sizes for applications that use large amounts of memory
  • Given multiple versions of applications that perform the same or similar tasks, choose which version of the application to run on a system based on its observed performance characteristics
  • Configure disk subsystems for optimal performance using mechanisms such as swap partition placement, I/O scheduling algorithm selection, file system layout and others
  • Configure kernel behavior by altering module parameters
  • Calculate network buffer sizes based on known quantities such as bandwidth and round-trip time and set system buffer sizes based on those calculations
  • Select and configure tuned profiles.
  • Manage system resource usage using control groups