Kursbeschreibung (description): |
Performance-Analyse, Ressourcen-Planung und Tuning in Bezug auf Speicher, I/O und CPU von Linux-Systemen.
|
|
Zielgruppe (target group): |
Systemplaner, Systemadministratoren
|
|
Voraussetzungen (requirements): |
Fortgeschrittene Linux-Kenntnisse, I/O- und Netzwerk-Grundlagen, Hardware-Grundkenntnisse. Grundkenntnisse in einer Skriptsprache sind von Vorteil.
|
|
Ziele (objectives): |
Der Kurs vermittelt Kenntnisse, um im Betrieb Performance-Engpässe zu erkennen und einzuordnen, Performance-Tests durchzuführen und Linux-Systeme anhand deren Hard- und Software zu bewerten. Praxisorientierte Hinweise für eine optimale Dimensionierung neuer Systeme, performance-orientierten Aufbau von Anwendungs- und Dienste-Infrastrukturen sowie Tuning-Möglichkeiten auf System- Ebene ergänzen den Kurs.
|
|
Preis und Dauer (price and duration): |
Dauer (duration): 5 Tage Preis (price): 2790,- Euro zzgl. MwSt.
Eine Druckansicht dieses Workshops finden Sie hier.
|
|
Termine (dates): |
Termine auf Anfrage. Falls Sie einen Terminwunsch für diesen Workshop haben, werden wir dies gerne für Sie prüfen!
|
|
|
Inhalte (agenda): |
- 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 folgende Themen ausführlicher behandelt:
- Linux-Kernel
- Überblick über performance-relevante Funktionen
- Aktuelle performance-relevante Entwicklungen
- Überblick /proc und /sys-Dateisystem
- Kontrollgruppen (Control Groups)
- Hardware-Aspekte
- Aufbau eines modernen Computer-Systems
- Unterschiedliche Bus-Systeme
- Unterschiedliche Storage-Systeme
- Software und Hardware RAID
- IOPS
- Besonderheiten von Flashspeicher
- Prozessor:
- Der Prozess-Scheduler
- CPU-gebundende Workloads erkennen
- Metriken auf System- und Prozess-Ebene
- Scheduling-Strategien 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
- Shared Memory
- Limits für 32- und 64-Bit-Linux
- Wieviel 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
- Empfohlene Dateisystem-Größen
- I/O-Scheduling, Multipathing
- Besonderheiten von SAN-Systemen und Flashspeicher
- Unterschiedliche Dateisysteme wie ext2-4 und XFS
- Ausblick BTRFS
- Performance und Datenintegrität
- Performance-relevante Mkfs- und Mount-Optionen
- Dateisysteme ausrichten
- Handhabung von SSDs
- Netzwerk
- Sende- und Empfangspuffer
- Congestion Control
- Analyse von TCP-Verbindungen
- Netfilter/Conntrack-Parameter
- Bufferbloat
- Statistiken und Netflows
- Methoden der Performance-Analyse
- Einige Antimethoden
- Systematische Methoden
- Die USE-Methode
- Graphing und Monitoring:
- Grundbegriffe
- Realtime-Monitoring
- RRD-Grundlagen
- Datensammeln mit collectd
- 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
- MySQL und PostgreSQL
- Rsync
- Ausblick: Loadbalancing via IPVS
|
|
|