Wir wollen verstehen, welche Hardware-Ressourcen uns zur Verfügung stehen und wie wir mögliche Engpässe und Probleme identifizieren können. Grundsätzlich dreht sich diese Frage in der Regel um die Anzahl der zur Verfügung stehenden CPUs, Hauptspeichers, Festplatten und Netzwerkkapazitäten.
Manche Ressourcen-Limits werden auch aus Sicherheitsgründen vom Betriebssystem eingezogen, beispielsweise per ulimit oder fs.file-max. Ressourcen können auch mit cgroups limitiert werden. Dazu lernst du später noch mehr.
Ziele
- Du kennst die verschiedenen Ressourcen-Parameter eines typischen Linux-Systems
- Du kennst für alle wichtigen Ressourcen die notwendigen Werkzeuge, um Details über die Nutzung anzuzeigen
- Du kannst die Daten interpretieren und erkennst mögliche Probleme
Inhalte
man pages der toolings
CPU
lscputophtop
RAM
freevmstat
HDD
df -h -i-
lsoflsof -p
iotoppidstatiostat
PSI
head /proc/pressure/*
Netzwerk
netstatsslsof -i -Pbmonnloadiftop
Externe Inhalte
- Linux Performance Analysis in 60,000 Milliseconds Show archive.org snapshot
- Getting Started with PSI Show archive.org snapshot
Übungen
- Zum Einstieg schaust du dir die jeweiligen Themen an und verstehst was diese jeweils bedeuten:
- CPU
- CPU Kerne
- Hyperthreading
- CPU User
- CPU System
- wait
- steal
- Speicher
- Freier Speicher
- Belegter Speicher
- Swap
- Buffer
- Cache
- shared memory
-
availablememory
- Disk
- Verfügbarer Speicher
- Burst performance
- Caching/Buffer
- Schreibgeschwindigkeit
- Lesegeschwindigkeit
- IOPS
- Random Read/Write
- PSI
- Wie ist das Konzept der Pressure Stall Information Metriken?
- Wie unterscheidet es sich zur klassischen load average?
- Was ist der Unterschied zwischen some und full pressure?
- Netzwerk
- Welche Verbindungen sind offen (
established)? - Welche
listensockets gibt es auf dem System? - Bandbreite
- Latenz
- Welche Verbindungen sind offen (
- CPU
- Finde die oben genannten "Metriken" in den verschiedenen tools die oben dargestellt werden. Schreib dir auf, wo du was gefunden hast und wo du was auslesen könntest.
- Lege dir eine Liste zurecht welche die üblichen Performance Bottlenecks sind und wie du prüfst ob diese anliegen
Posted by Thomas Eisenbarth to DevOps Curriculum (2022-01-24 10:06)