PostgreSQL - Performance Tuning und Troubleshooting
Dieser Kurs richtet sich an Administratoren, die Leistungsengpässe in PostgreSQL systematisch analysieren und beheben müssen. Die Teilnehmer lernen, Speicherparameter anzupassen, Abfragepläne zu entschlüsseln und Indizes einzusetzen.
SEMINARINHALTE & AGENDA
Speicher- und Ressourcen-Tuning
Optimierung von shared_buffers für den Daten-Cache
- Einstellung von work_mem zur Vermeidung von Platten-Sortierungen
- Konfiguration von maintenance_work_mem für Wartungsaufgaben
Write-Ahead-Log (WAL) Tuning
Einfluss von max_wal_size und min_wal_size auf Checkpoints
- Optimierung der Checkpoint-Abstände zur I/O-Entlastung
- Einsatz von wal_buffers für optimierte Schreibvorgänge
Abfragepläne analysieren mit EXPLAIN
Lesen von Abfrageplänen und Kostenabschätzungen
- Ermittlung realer Laufzeiten mit EXPLAIN ANALYZE
- Unterscheidung von Sequential Scans und Index Scans
Fortgeschrittene Indizierung
Einsatz von partiellen Indizes für gefilterte Datenmengen
- Erstellung funktionaler Indizes auf berechneten Spalten
- Nutzung von Composite Indizes und deren Spaltenreihenfolge
Spezielle Indextypen
Einsatz von GIN-Indizes für JSONB- und Volltextsuche
- Verwendung von GiST-Indizes für geometrische Daten
- Abgrenzung zu BRIN-Indizes für sehr große, sortierte Tabellen
Systemstatistiken aktivieren und nutzen
Einführung und Konfiguration von pg_stat_statements
- Auffinden der ressourcenintensivsten Abfragen
- Nutzung der System-Views zur Analyse von Tabellen- und Indexzugriffen
Locking und Blockierungen diagnostizieren
Erkennung blockierender Abfragen über pg_stat_activity
- Analyse von Zeilen- und Tabellensperren
- Einsatz von Deadlock-Erkennung und Konfiguration von Timeouts
MVCC und Bloat-Optimierung
Messung von Tabellen- und Index-Bloat
- Feinabstimmung des Autovacuum-Prozesses auf Tabellenebene
- Einsatz von Tools zur Online-Defragmentierung
Verbindungspooling (Connection Pooling)
Verständnis des Overhead-Problems bei zu vielen Verbindungen
- Konfiguration von Verbindungspools mit PgBouncer
- Optimierung der max_connections-Einstellungen im Server
Betriebssystem-Tuning für PostgreSQL
Anpassung der Linux-Kernel-Parameter (Dirty Pages, Huge Pages)
- Optimierung des Dateisystem-Caches und Swappiness-Verhalten
- Auswahl und Konfiguration des optimalen I/O-Schedulers
ZIELGRUPPE
Datenbankadministratoren und System-Engineers, die für die Leistungsoptimierung und Fehlerbehebung von PostgreSQL-Systemen in anspruchsvollen Produktionsumgebungen zuständig sind
VORAUSSETZUNGEN
Tiefgehende Kenntnisse der Administration und SQL-Abfragen, vergleichbar mit den Inhalten des Kurses "PostgreSQL - Administratoren Grundkurs"
PostgreSQL - Performance Tuning und Troubleshooting
3 Tage
Auf Anfrage
1.790,00 €
zzgl. MwSt.