Direkt zum Inhalt

Linux Performance Analyse & Tuning

In diesem Linux-Training schauen Sie unter die Motorhaube von Linux. Sie lernen, Ursachen für Performance-Probleme zu finden und Ressourcen zu planen. Ausgewählte Tuning-Möglichkeiten komplettieren den Kurs.

Je nach aktueller Corona-Situation finden unsere Kurse in Berlin oder Online statt. Bitte entnehmen Sie dem jeweiligen Termin, wie die Durchführung geplant ist. Für die Schulungen in Berlin beachten Sie bitte unser Hygienekonzept.

Guru

5 Tage, Berlin / Online

Martin Steigerwald

41 Teilnehmerbewertungen

Vorkenntnisse:

Der Kurs richtet sich an Systemadministratoren und Systemplaner, die über fortgeschrittene Linux-Kenntnisse sowie I/O- und Netzwerk- und Hardware-Grundlagen verfügen. Grundkenntnisse in einer Skriptsprache sind von Vorteil.

Kursinhalt:

Die Performance von vorhandenen Linux-Systemen zu analysieren und letztlich zu steigern, sollte für alle Administratoren ein interessantes Thema sein. In dieser Schulung werden daher folgende Themen ausführlicher behandelt:

Linux-Kernel:

  • Überblick über performance-relevante Funktionen
  • ausgewählte performance-relevante Entwicklungen
  • Überblick /proc und /sys-Dateisystem
  • Kontrollgruppen (Control Groups)
  • Ressourcen-Management via Systemd

Hardware-Aspekte:

  • Aufbau eines modernen Computer-Systems
  • Unterschiedliche Bus-Systeme
  • Unterschiedliche Storage-Systeme
  • Hauptspeicher>
  • Soft- und Hardware RAID
  • IOPS von verschiedenen Geräte-Klassen
  • Besonderheiten von Flashspeicher

Prozessor:

  • Der Prozess-Scheduler
  • CPU-gebundene Workloads erkennen
  • Metriken auf System- und Prozess-Ebene
  • Load Average und Pressure Stall Information
  • Scheduling-Strategien, Nice-Werte und CPU-Affinität
  • Prozesse im Detail: Zustände und Tracing
  • Frequenzskalierung

Hauptspeicher:

  • Grundlagen zur Linux-Speicherverwaltung
  • Hauptspeicher-gebundene Workloads erkennen
  • Metriken auf System- und Prozess-Ebene
  • Auslagerungsverhalten und Out Of Memory Killer
  • Dirty Memory-Grenzwerte
  • Shared Memory und Huge Pages
  • Limits für 32- und 64-Bit-Linux
  • Wie viel Speicher braucht ein Prozess?
  • Exkurs: Speicherleck erkennen
  • Exkurs: Speicherverbrauch begrenzen
  • Exkurs: Hauptspeicher komprimieren

Massenspeicher und Dateisysteme:

  • Wie Prozesse I/O generieren
  • Der Linux I/O Stack
  • I/O-gebundene Workloads erkennen
  • Metriken auf System-, Dateisystem- und Prozess-Ebene
  • Bandbreite versus IOPS
  • Empfohlene Dateisystem-Größen
  • I/O-Scheduling und Multiqueue I/O (blk-mq)
  • Besonderheiten von SAN-Systemen und Flashspeicher
  • Performance und Datenintegrität
  • Tuning-Tipps für Ext4, XFS und BTRFS
  • Dateisystem-Fragmentierung
  • Dateisysteme ausrichten
  • Funktionsweise und Handhabung von SSDs

Netzwerk:

  • Sende- und Empfangspuffer
  • Congestion Control
  • Metriken auf System-, Prozess- und Verbindungs-Ebene
  • Analyse von TCP-Verbindungen
  • Netfilter/Conntrack-Parameter
  • Bufferbloat
  • Statistiken und Netflows

Methoden der Performance-Analyse:

  • Einige Antimethoden
  • Systematische Methoden
  • Die USE-Methode
  • Thread-Zustände

Graphing und Monitoring:

  • Grundbegriffe
  • Realtime-Monitoring mit Top-Alternativen, Sysstat und Netdata
  • RRD-Grundlagen
  • Collectd
  • Net Flows
  • Überblick über weitere Ansätze

Benchmarks:

  • Richtiges Messen und typische Meßfehler
  • Unterschiedliche Benchmark-Typen
  • Test-Szenarios mit gängigen Benchmarks
  • Belastungsgrenzen herausfinden
  • Ergebnisse bewerten
  • Exkurs: Flexible I/O Tester

Anwendungen:

  • NFS und FS-Cache
  • Apache
  • MariaDB und PostgreSQL
  • Rsync
  • Ausblick: Loadbalancing via IPVS

Ziel:

Nach diesem Kurs sind Sie in der Lage, selbständig Performance-Probleme zu analysieren. Sie können Metriken auf System-Ebene auswerten, um Performance-Engpässe zu finden, um dann heraus zu finden, welche Prozesse, Netzwerk-Verbindungen oder sonstige Quellen von Arbeit für den Computer einen Engpass verursachen. Strukturiertes, methodisches Vorgehen stellt dabei sicher, dass Sie an alles gedacht haben. Die im Kurs erworbenen Kenntnisse erleichtern zudem die optimale Dimensionierung neuer Server sowie den performance-orientierten Aufbau von Anwendungs- und Dienste-Infrastrukturen. Mit ausgewählten Tuning-Optionen beschleunigen Sie den ein oder anderen Workload.

Dozent

Martin Steigerwald

Martin Steigerwald

beschäftigt sich seit Mitte der 90er Jahre mit Linux. Er ist langjähriger Autor von Artikeln für verschiedene Computer-Magazine wie die LinuxUser (linuxuser.de) und das Linux-Magazin (linux-magazin.de). Seit Herbst 2004 ist er als Consultant für solide Server-Infrastruktur auf Linux-Basis und als Trainer für Linux-Themen bei der Proact Deutschland GmbH in Nürnberg tätig.

Das sagen unsere Teilnehmer

Anmeldung zum Kurs

Schritt 1: Bitte Termin auswählen

Je nach aktueller Corona-Situation finden unsere Kurse in Berlin oder Online statt. Bitte entnehmen Sie dem jeweiligen Termin, wie die Durchführung geplant ist. Für die Schulungen in Berlin beachten Sie bitte unser Hygienekonzept.

KW
Datum
Dozent
Ort
Status

Schritt 2: Bitte Paket auswählen