Linux Performance Tuning

Linux Performance Tuning Training

The Linux performance tuning course is intended for system administrators and technology architects who need to select and tune their environment to maximize speed and efficiency. This course is designed to give you all the tools and techniques you need to keep your Linux systems running at optimal levels. These techniques and tools have been developed and tested in the most demanding high-performance computing environments.

It will cover:

  • Industry configuration best practices
  • The best tried-and-true optimization performance tuning tools and techniques
  • How to manually optimize the kernel’s behavior
  • Tracing, profiling and instrumentation techniques across a wide range of conditions.

This course is designed to work with a wide range of Linux distributions, so you will be able to apply these concepts regardless of your distro.

Contact us to book your seat. Training may be done on-site or at our training venues in Durban, Cape Town and Johannesburg.

Course Duration Price ZAR(ex vat) Price USD
Linux Performance Tuning Training Summary
Linux Performance Tuning 4 days R25,000 $1,920

 

Course Outline

Introduction

  • Linux Foundation Training
  • Linux Foundation
  • Logistics

Performance Optimization Principles

  • Methodology
  • Optimization Process
  • Investigation Tools

Benchmarking

  • Performance Benchmarks
  • Synthetic Benchmarks
  • Application Benchmarks

Tuning Interfaces

  • Kernel Tunables
  • Kernel Parameters
  • Application Interfaces
  • tuned
  • Hardware Tunables

Monitoring Interfaces

  • /proc Filesystem
  • Command-line Utilities
  • Performance Data Collection
  • Nagios
  • Ganglia
  • Kernel Monitoring

Profiling Techniques and Tools

  • Performance Monitoring
  • Counters
  • Performance Ratios
  • Kernel vs Application Profiling
  • oprofile
  • Perf
  • Available perf events
  • Acquiring Performance Data with perf
  • Monitoring Performance from Within the Application
  • User Space Performance Monitoring with gprof

Tracing Tools

  • User Space Tracing
  • strace
  • Library Tracing
  • Kernel Tracing
  • ftrace
  • Systemtap
  • Tracing Applications with SystemTap

CPU Subsystem

  • CPU Concepts and Architecture
  • CPU-Level Optimizations
  • Specialized Instruction Sets
  • CPU Topologies
  • BIOS Settings

Power Management

  • Device Power Management
  • CPU Power Saving States
  • Frequency Scaling
  • Power Management Tools

Process Scheduling

  • Design
  • Scheduling Policies
  • Scheduling Tunable Settings
  • CPU Affinity and Isolation
  • Interrupt Affinity

Memory Subsystem

  • Overview
  • Page Lookup Optimization and Huge Pages
  • Controlling Swapping from Applications
  • Minimizing Faults

NUMA Optimizations

  • Key NUMA Concepts
  • CPU Concepts and Architecture
  • NUMA Memory Allocation
  • NUMA Statistics

I/O Subsystem

  • Storage Stack Overview
  • I/O Scheduler Concepts
  • I/O Scheduler Algorithms
  • Hardware Considerations
  • Tuning Storage Devices

Local Filesystems

  • Choosing the Right Filesystem
  • Ext3/4 Journaling Modes
  • Filesystem Attributes

Network Filesystems

  • Network File System (NFS)
  • NFSv4
  • pNFS

Storage and IO

  • Software RAID Refresher
  • RAID Levels
  • RAID configuration
  • Logical volumes
  • Volumes and Volume Groups
  • Creating Logical Volumes
  • Raw Devices
  • Asynchronous I/O

Analyzing the I/O Subsystem

  • iostats
  • iotop
  • blktrace
  • blkparse
  • btrace
  • btt
  • blkiomon

Network Subsystem Optimization

  • Network Stack Overview
  • Optimizing for Latency and Throughput
  • Network Interface Hardware Settings
  • Offloading Techniques
  • TCP Optimization
  • Monitoring and Diagnostic Tools

Virtualization

  • Virtualization Overview
  • Disk Considerations
  • Network Considerations