LFS426 Linux Performance Tuning

Der optimale Betrieb von Linux-Systemen ist für die meisten Linux-IT-Fachleute eine anwendungskritische Aufgabe. Dieser Kurs beleuchtet die geeigneten Tools, Subsysteme und Techniken, die für eine Performance-Optimierung von Linux-Systemen erforderlich sind.

Dieser Kurs vermittelt alle Techniken und Tools, die für den optimalen Betrieb Ihres Linux-Systems erforderlich sind. Diese Techniken und Tools wurden in anspruchsvollen Hochleistungs-Rechnerumgebungen entwickelt und getestet.

Sie lernen folgendes kennen:

  • Best Practices für Konfigurationen in der Industrie
  • Bewährte Tools und Techniken zur Performance-Optimierung
  • Manuelle Optimierung des Kernel-Verhaltens
  • Tracing- und Profiling-Techniken für unterschiedlichste Bedingungen
  • Und vieles mehr

Die im Kurs vermittelten Inhalte lassen sich auf alle großen Linux-Distributionen anwenden.

Die Linux Foundation bietet diesen Kurs nicht mehr an. Bei Bedarf können wir einen Kurs mit den selben Inhalten organisieren.

Voraussetzungen

Dieser Kurs richtet sich vor allem an System-Administratoren und -Architekten, die ihre Systeme für mehr Geschwindigkeit und Effizienz optimieren müssen. Die Teilnehmer sollten Erfahrung mit der Anwendung von Linux und mit den Konzepten der lokalen System-Administration, wie im Kurs LFS220 Linux-System-Administration vermittelt, haben.

Inhalt

Einführung

  • Die Linux Foundation
  • Schulungen der Linux Foundation
  • Zertifizierungen der Linux Foundation
  • Logistik

Grundlagen der Performance-Optimierung

  • Methodik
  • Optimierungsprozess
  • Prüftools

Benchmarks

  • Performance-Benchmarks
  • Synthetische Benchmarks
  • Applikations-Benchmarks

Tuning-Schnittstellen

  • Kernel Tunables
  • Kernel-Parameter
  • Anwender-Schnittstellen
  • tuned
  • Hardware Tunables

Überwachungsschnittstellen

  • /proc Dateisystem
  • Befehlszeilen-Dienstprogramme
  • Erfassen von Performance-Daten
  • Nagios
  • Ganglia
  • Kernel-Überwachung

Profiling-Techniken und -Tools

  • Performance-Überwachung
  • Counters
  • Leistungskennzahlen
  • Kernel oder Application Profiling
  • oprofile
  • Perf
  • Verfügbare perf events
  • Erfassen von Performance-Daten mit perf
  • Performance-Überwachung innerhalb der Applikation
  • User Space Performance-Überwachung mit gprof

Tracing-Tools

  • User Space Tracing
  • strace
  • Library Tracing
  • Kernel-Tracing
  • ftrace
  • Systemtap
  • Tracing von Applikationen mit SystemTap

CPU-Subsystem

  • CPU-Konzepte und -Architektur
  • CPU Level Optimierung
  • Spezielle Befehlssätze
  • CPU-Topologien
  • BIOS-Einstellungen

Power-Management

  • Power-Management für Geräte
  • CPU Energiespar-Zustände
  • Frequenz-Skalierung
  • Power-Management-Tools

Prozess-Scheduling

  • Entwurf
  • Scheduling-Richtlinien
  • Tunable Scheduling-Einstellungen
  • CPU-Affinität und Isolation
  • Interrupt-Affinität

Speicher-Subsystem

  • Überblick
  • Page Lookup Optimierung und Huge Pages
  • Swapping von Applikationen steuern
  • Fehlerminimierung

NUMA-Optimierung

  • NUMA-Konzepte
  • CPU-Konzepte und -Architektur
  • NUMA-Speicherzuweisung
  • NUMA-Statistiken

I/O-Subsystem

  • Storage Stack Übersicht
  • I/O-Scheduler-Konzepte
  • I/O-Scheduler-Algorithmen
  • Hardware-Betrachtungen
  • Tuning von Storage-Geräten

Lokale Dateisysteme

  • Auswahl des richtigen Dateisystems
  • Ext3/4 Journaling-Modi
  • Dateisystem-Attribute

Netzwerk-Dateisysteme

  • Network File System (NFS)
  • NFSv4
  • pNFS

Storage und IO

  • Software RAID Refresher
  • RAID-Level
  • RAID-Konfiguration
  • Logische Datenträger
  • Volumen und Volumen-Gruppen
  • Erstellung logischer Datenträger
  • Raw Devices
  • Asynchroner I/O

Analyse des I/O-Subsystems

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

Optimierung des Netzwerk-Subsystems

  • Network Stack Überblick
  • Optimierung für Latenz und Durchsatz
  • Netzwerkschnittstelle – Hardware-Einstellungen
  • Offloading-Techniken
  • TCP-Optimierung
  • Überwachungs- und Diagnose-Tools

Virtualisierung

  • Virtualisierung - Überblick
  • Laufwerk-Betrachtungen
  • Netzwerk-Betrachtungen

Abschluss

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.