Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Automatické škálování LakeBase je v beta verzích v následujících oblastech: eastus2, westeurope, westus.
Automatické škálování LakeBase je nejnovější verze LakeBase s automatickým škálováním výpočetních prostředků, škálováním na nulu, větvení a okamžitým obnovením. Porovnání funkcí se službou Lakebase Provisioned najdete v tématu Volba mezi verzemi.
pg_stat_statements je rozšíření Postgres, které poskytuje podrobné statistické zobrazení provádění příkazů SQL v rámci databáze Lakebase Postgres. Sleduje informace, jako jsou počty spuštění, celkový a průměrný čas provádění a další, a pomáhá analyzovat a optimalizovat výkon dotazů SQL.
Kdy použít pg_stat_statements
Použijte pg_stat_statements , když potřebujete:
- Podrobné statistiky spouštění dotazů a metriky výkonu
- Identifikace pomalých nebo často spouštěných dotazů
- Analýza výkonu dotazů a přehledy optimalizace
- Analýza databázových úloh a plánování kapacity
- Integrace s vlastními monitorovacími nástroji a řídicími panely
Povolte pg_stat_statements
Rozšíření pg_stat_statements je k dispozici v Lakebase Postgres. Chcete-li to povolit:
Připojte se k databázi pomocí editoru SQL nebo klienta Postgres.
Spuštěním následujícího příkazu SQL vytvořte rozšíření:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;Rozšíření začne shromažďovat statistiky okamžitě po vytvoření.
Trvalost dat
Statistiky shromážděné rozšířením pg_stat_statements se ukládají do paměti a při pozastavení nebo restartování výpočetních prostředků Lakebase se nezachovají. Pokud se například vaše výpočetní prostředky z důvodu nečinnosti snižují, ztratí se všechny existující statistiky. Po restartování výpočetních prostředků se shromáždí nové statistiky.
Toto chování znamená, že:
- Resetování statistik po restartování nebo pozastavení výpočetních prostředků
- Dlouhotrvající analýza výkonu vyžaduje konzistentní dostupnost výpočetních prostředků.
- Před plánovanou údržbou nebo restartováním můžete chtít exportovat důležité statistiky.
Poznámka:
Pokud potřebujete historická data o výkonu napříč událostmi výpočetního životního cyklu, zvažte pravidelné spouštění monitorovacích dotazů a ukládání výsledků externě.
Další informace: Rozšíření Postgres
Statistika provádění dotazů
Po povolení rozšíření můžete dotazy na vykonávací statistiky zadávat pomocí zobrazení pg_stat_statements. Toto zobrazení obsahuje jeden řádek na samostatný databázový dotaz, který zobrazuje různé statistiky:
SELECT * FROM pg_stat_statements LIMIT 10;
Zobrazení obsahuje podrobnosti jako:
| ID uživatele | dbid | queryid | dotaz | volá |
|---|---|---|---|---|
| 16391 | 16384 | -9047282044438606287 | SELECT * OD uživatelů; | 10 |
Úplný seznam sloupců a popisů najdete v dokumentaci k PostgreSQL.
Klíčové dotazy monitorování
K analýze výkonu databáze použijte tyto dotazy:
Vyhledání nejpomalejších dotazů
Tento dotaz identifikuje dotazy s nejvyšší průměrnou dobou provádění, což může značit neefektivní dotazy, které potřebují optimalizaci:
SELECT
query,
calls,
total_exec_time,
mean_exec_time,
(total_exec_time / calls) AS avg_time_ms
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 20;
Vyhledání nejčastěji spouštěných dotazů
Nejčastěji vykonávané dotazy jsou často kritické cesty a kandidáti na optimalizaci. Tento dotaz zahrnuje poměry přístupů do mezipaměti, které pomáhají identifikovat dotazy, které můžou těžit z lepšího indexování:
SELECT
query,
calls,
total_exec_time,
rows,
100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
FROM pg_stat_statements
ORDER BY calls DESC
LIMIT 20;
Najít dotazy s nejvyšším I/O
Tento dotaz identifikuje dotazy, které provádějí většinu vstupně-výstupních operací disku, což může mít vliv na celkový výkon databáze:
SELECT
query,
calls,
shared_blks_read + shared_blks_written AS total_io,
shared_blks_read,
shared_blks_written
FROM pg_stat_statements
ORDER BY (shared_blks_read + shared_blks_written) DESC
LIMIT 20;
Najděte nejvíce časově náročné dotazy
Tento dotaz identifikuje dotazy, které spotřebovávají největší celkovou dobu provádění ve všech spuštěních:
SELECT
query,
calls,
total_exec_time,
mean_exec_time,
rows
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;
Najděte dotazy, které vracejí mnoho řádků
Tento dotaz identifikuje dotazy, které vracejí velké sady výsledků, které můžou těžit ze stránkování nebo filtrování:
SELECT
query,
calls,
rows,
(rows / calls) AS avg_rows_per_call
FROM pg_stat_statements
ORDER BY rows DESC
LIMIT 10;
Resetování statistik
Resetování statistik shromážděných pomocí pg_stat_statements:
Poznámka:
Ke spuštění této funkce mají oprávnění databricks_superuser pouze role. Výchozí role vytvořená s projektem Lakebase a role vytvořené v aplikaci Lakebase mají uděleno členství v roli databricks_superuser.
SELECT pg_stat_statements_reset();
Tato funkce vymaže všechna shromážděná statistická data, jako jsou časy provádění a počty příkazů SQL, a začne shromažďovat nová data. Je zvlášť užitečné, když chcete začít znovu se shromažďováním statistik výkonu.
Prostředky
Další informace: Dokumentace k PostgreSQL