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.

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