- získávání přehledu o aktuálním výkonu, identifikace problémů a jejich odstranění
- součást Databázová administrace
- sledujeme:
- výkon dotazů
- zátěž databáze
- logování aktivit
- podle výsledků monitoringu děláme optimalizace a tuning
Výkon dotazů
- chceme najít dotazy, které trvají velmi dlouho
- nebo které se provádějí velmi často a i malinká optimalizace bude mít velkej vliv
- pro analýzu používáme příkazy
EXPLAIN
a EXPLAIN ANALYZE
(viz Prováděcí plány a statistiky)
Zátěž databáze
- kolik se provede transakcí, kolik je připojených klientů, jaké prostředky se používají
- jak různé (připojené) aplikace ovlivňují databázi
- nástroj pro generování zátěže:
pgbench
- je to implementace TPC-B benchmarku (měření transakční zátěže - simulace bankovního systému)
Logování aktivit
- víme, co přesně se děje
- logování připojení/odpojení klientů atd.
- logování nastavujeme v
postgresql.conf
logging_collector = on
, nastavíme i formát, cílový soubor
- speciální logy pro dotazy, které trvají více než X milisekund
- logování připojení/odpojení
- logování checkpointů
- nástroj pro analýzy logů:
pgBadger
- vizualizuje logy a tvoří reporty (po analýze logů vytvoří HTML stránku s přehledy) + identifikuje problémy