Video description
9+ Hours of Video Instruction
More than 9 hours of video instruction to help you learn the skills necessary to prepare you for the Red Hat EX442 exam, add to your knowledge base for accomplishing the RHCA, and expand your knowledge of Linux optimization to run a more efficient system.
Linux Performance Optimization includes a complete overview of all that is needed to optimize Performance on Linux servers and desktops from a practical perspective. It starts with a generic introduction to analyzing performance and the tools that are provided to do so. Next, it will discuss different tuning interfaces that exist within the Linux environment. The last part of the course will focus on performance optimization strategies for different types of workload.
The course provides valuable strategies and information about optimization to prepare the viewer for the Red Hat EX442, as well as complimenting their skill set for the RHCA exams. Sander van Vugt, best-selling Red Hat and Linux author, provides thorough demonstrations and whiteboard presentations. A full sample exam walk-through is also provided at the end of the course so you can see in real-time how to approach the exam.
Topics include:
- Performance Optimization Basics
- Tuning Essentials
- Limiting Resource Usage
- Benchmarking
- Profiling
- Tracing
- Tuning for Small Files
- Tuning Memory
- Tuning for CPU-intense Workloads
- Tuning File Services
- Database Workload Tuning
- Tuning Power Usage
- Tuning Virtualization
- Sample Exam
- End-of-module quizzes
About the Instructor
Sander van Vugt is an independent Linux trainer, author and consultant living in the Netherlands. Sander has written numerous books about different Linux related topics, and many articles for Linux publications around the world. Sander has been teaching Red Hat, SUSE and LPI Linux classes since 1994. As a consultant, he is specialized in Linux High Availability solutions and Performance Optimization. More information about Sander is on his website at www.sandervanvugt.com.
Skill Level
Learn How To
- Learn how to understand and analyze Linux performance to determine best optimization methods
- Learn which parts of the operating system you need to optimize, and the mechanisms in place to do that
- Optimize Linux performance to manage servers with specific needs
Who Should Take This Course
- Linux users who are preparing to take the exam for the Red Hat Certificate of Expertise in Performance Tuning (EX442)
- Anyone who want to learn how to analyze and optimize performance of Linux
- People looking to go beyond the objectives of the exam—and beyond Red Hat—to understand Linux performance
- People preparing for the RHCA exam 442
Course Requirements
Solid Linux knowledge, preferably having completed one of the following:
- Red Hat RHCSA Video Course
- Linux+/LPIC-1 Complete Video Course
- LFCS Complete Video Course
Lesson descriptions
Lesson 1
Lesson 1, “Performance Optimization Basics,” provides you with an understanding of how to align your business goals with the performance optimization goals of your organization.
Lesson 2
Lesson 2 will address tuning essentials. You'll learn about different queueing techniques, as well as some of the basic elements that the Linux operating system contains to help you optimize performance.
Lesson 3
Lesson 3, “Limiting Resource Usage,” discusses different solutions that Linux includes to limit access to resources, including ulimit, cgroups, and how cgroups are integrated in systemd.
Lesson 4
Lesson 4 tackles the subject of benchmarking. Different benchmarking tools to gather data about your systems performance will be explained, and how to use awk to analyze and filter these data. It also demonstrates how to use plotting and performance co-pilot to present the data in a usable way.
Lesson 5
Profiling is discussed in Lesson 5. Using profiling allows you to gather specific system information from specific parts of your computer. You'll learn how to apply this on kernel, hardware, and storage. You'll also learn how to use perf as a specific profiling solution.
Lesson 6
Tracing is an approach that helps you gather detailed information about any part of the operating system. You'll learn how to trace system calls, as well as library calls, and how to use systemtap for tracing specific parts of the operating system.
Lesson 7
In Lesson 7, “Tuning for Small Files,” you'll learn to understand the I/O workflow and the parts involved. Next, you'll learn how to optimize parts that are essential for small file workloads, such as disk I/O and specific file system properties.
Lesson 8
Tuning memory in Lesson 8 focuses on the optimization of memory. As memory is the vital part for the performance of your server, this might be the most important lesson in this course for you. You'll learn about memory management, and about different solutions that exist for managing process management. You'll also learn how swap plays a role in memory management, and how to handle specific situations related to memory leaks, OOM, and more.
Lesson 9
Lesson 9, “Tuning for CPU-intense Workloads,” involves understanding how the CPU works, and how to work with the different schedulers that are offered by the Linux kernel. It focuses on optimizing the schedulers for your workloads, and you'll also learn how to apply generic techniques such as CPU pinning and interrupt balancing.
Lesson 10
In “Tuning File Services,” you'll learn how to optimize for file services. This involves managing typical file system features, such as journaling, fragmentation and aligning the file system with the disk geometry. We'll also focus on network performance optimization, and you'll learn how to optimize different components that play a role in communication between nodes over the network.
Lesson 11
Lesson 11, “Database Workload Tuning,” discusses how to optimize a server for database usage. This involves managing IPCs, huge pages, and memory over-commitment.
Lesson 12
“Tuning Power Usage” explains how to optimize a Linux system for efficient power usage. You'll learn about some generic power saving strategies, managing power states, and profiling power usage. You'll also learn how to work with cpufreq.
Lesson 13
Lesson 13, “Tuning Virtualization,” covers the optimization of virtual machines. You'll learn how to apply strategies such as CPU pinning, Kernel samepage merging, and cgroups.
Lesson 14
Lesson 14 provides a Sample Exam of the Red Hat EX442. The sample exam is made up of 16 questions. The answers are explained in detail in the sub-lessons.
O’Reilly Media, Pearson IT Certification, and Sander Van Vugt have no affiliation with Red Hat, Inc. The RED HAT and RHCSA trademarks are used for identification purposes only and are not intended to indicate affiliation with or approval by Red Hat, Inc.
Table of Contents
Introduction
Linux Performance Optimization: Introduction
Module 1: Performance Tuning Essentials
Module introduction
Lesson 1: Performance Optimization Basics
Learning objectives
1.1 Understanding Performance Tuning
1.2 What do you Want to Accomplish?
1.3 Getting Started
1.4 Using top to Analyze Performance
Lesson 2: Tuning Essentials
Learning objectives
2.1 Understanding Queueing
2.2 Configuring System Tunables
2.3 Managing Kernal Module Parameters
2.4 Working with Tuned
2.5 Managing Custom Tuned Profiles
2.6 Managing Tuna
Lesson 3: Limiting Resource Usage
Learning objectives
3.1 Configuring Ulimit Resource Limits
3.2 Understanding Control Groups
3.3 Integrating Control Groups in Systemd
3.4 Managing Systemd cgroups
3.5 Managing Slices
Module 2: Gathering Performance Data
Module introduction
Lesson 4: Benchmarking
Learning objectives
4.1 Understanding Benchmarking
4.2 Understanding Units
4.3 Using Benchmarking Tools
4.4 Using awk to Find Relevant Data
4.5 Getting Performance data with sar
4.6 Plotting Data
4.7 Lab: Using gnuplot to show sar data
4.8 Using Performance Co-Pilot
Lesson 5: Profiling
Learning objectives
5.1 Understanding the Need for Profiling
5.2 Understanding What you Need to Know
5.3 Querying Kernel Information
5.4 Hardware Profiling Tools
5.5 Profiling Storage
5.6 Understanding CPU Cache Usage
5.7 Profiling CPU Cache Usage
5.8 Using perf
Lesson 6: Tracing
Learning objectives
6.1 Understanding Tracing
6.2 Tracing System and Library Calls
6.3 Kernel Tracing with ftrace
6.4 Understanding SystemTap
6.5 Installing SystemTap
6.6 Running SystemTap Scripts
6.7 Running Precompiled SystemTap Modules
Module 3: Tuning Specific Workloads
Module introduction
Lesson 7: Tuning for Small Files
Learning objectives
7.1 Understanding I/O Flow
7.2 Understanding Small File Workloads
7.3 Small File Workloads Demos
7.4 Optimizing Disk I/O
7.5 Selecting the Best Filesystem
7.6 Managing Journaling Options
7.7 Tuning a Mailserver Workload
Lesson 8: Tuning Memory
Learning objectives
8.1 Understanding Memory Management
8.2 Managing Process Memory
8.3 Finding Memory Leaks
8.4 Using Swap and Cache
8.5 Managing Memory Reclamation
8.6 Managing OOM
8.7 Managing NUMA
Lesson 9: Tuning for CPU-intense Workloads
Learning objectives
9.1 Understanding CPU Features
9.2 Understanding CPU-bound Tasks
9.3 Understanding CPU Scheduling
9.4 Configuring CPU Scheduling
9.5 CPU Pinning
9.6 Balancing Interrupts
9.7 Using Real-time Scheduling
Lesson 10: Tuning File Services
Learning objectives
10.1 Understanding File Services Tuning
10.2 Selecting the Right Tuned Profile
10.3 Managing Fragmentation
10.4 Managing FS Journal Placement
10.5 Aligning a File System to the Disk Geometry
10.6 Understanding Network Performance Challenges
10.7 Tuning Network Interface Performance
10.8 Tuning Network Queues
10.9 Managing TCP- / UDP-related Tunables
10.10 Managing Network Link Aggregation
Lesson 11: Database Workload Tuning
Learning objectives
11.1 Understanding Database Server Workload
11.2 Managing Inter Process Communication (IPC)
11.3 Managing Huge Pages
11.4 Overcommitting Memory
Lesson 12: Tuning Power Usage
Learning objectives
12.1 Using Generic Power-saving Strategies
12.2 Linux Power Consumption Strategies
12.3 Understanding Power States
12.4 Profiling Power Usage
12.5 Managing cpufreq
Lesson 13: Tuning Virtualization
Learning objectives
13.1 Using Tuned
13.2 CPU Pinning
13.3 Using Kernel Samepage Merging (KSM)
13.4 Virtual Machines and Cgroups
13.5 Virtual Machine Storage
Lesson 14: Sample Exam
Learning objectives
14.1 Questions
14.2 Collecting Data with sar
14.3 Analyzing Cache Performance
14.4 Managing Huge Pages
14.5 Analyzing File System Performance
14.6 Managing Swap
14.7 Optimizing Large Writes
14.8 Analyzing I/O
14.9 Analyzing Performance Data
14.10 Managing Network Buffers
14.11 Managing User Limitations
14.12 Managing System Resource Access
14.13 Analyzing System Cells
14.14 Managing Shared Memory
14.15 Managing Kernel Module Options
14.16 Analyzing Hardware Capabilities
Summary
Linux Performance Optimization: Summary