Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Von Bedeutung
Lakebase Autoscaling ist in Beta in den folgenden Regionen: eastus2, westeurope, westus.
Lakebase Autoscaling ist die neueste Version von Lakebase mit automatischer Berechnung, Skalierung bis Null, Verzweigung und sofortiger Wiederherstellung. Einen Featurevergleich mit Lakebase Provisioned finden Sie unter Auswahl zwischen Versionen.
pg_stat_statements ist eine Postgres-Erweiterung, die eine detaillierte statistische Ansicht der SQL-Anweisungsausführung in Ihrer Lakebase Postgres-Datenbank bietet. Es verfolgt Informationen wie Ausführungsanzahl, Gesamt- und durchschnittliche Ausführungszeiten und vieles mehr, was Ihnen hilft, die SQL-Abfrageleistung zu analysieren und zu optimieren.
Wann pg_stat_statements verwendet werden soll
Verwenden Sie pg_stat_statements bei Bedarf:
- Detaillierte Abfrageausführungsstatistiken und Leistungsmetriken
- Identifizierung von langsamen oder häufig ausgeführten Abfragen
- Abfrageleistungsanalyse und Optimierungserkenntnisse
- Analyse der Datenbankauslastung und Kapazitätsplanung
- Integration in benutzerdefinierte Überwachungstools und Dashboards
Aktivieren von pg_stat_statements
Die pg_stat_statements Erweiterung ist in Lakebase Postgres verfügbar. Um es zu aktivieren:
Stellen Sie mithilfe des SQL-Editors oder eines Postgres-Clients eine Verbindung mit Ihrer Datenbank her.
Führen Sie den folgenden SQL-Befehl aus, um die Erweiterung zu erstellen:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;Die Erweiterung beginnt sofort nach der Erstellung mit der Erfassung von Statistiken.
Datenpersistenz
Statistiken, die von der pg_stat_statements Erweiterung gesammelt werden, werden im Arbeitsspeicher gespeichert und werden nicht beibehalten, wenn die Lakebase-Berechnung angehalten oder neu gestartet wird. Wenn Ihre Berechnung beispielsweise aufgrund von Inaktivität nach unten skaliert wird, gehen alle vorhandenen Statistiken verloren. Neue Statistiken werden gesammelt, sobald die Berechnung neu gestartet wird.
Dieses Verhalten bedeutet:
- Statistiken werden nach Neustarts oder Unterbrechungen von Rechnern zurückgesetzt
- Eine langfristige Leistungsanalyse erfordert eine konsistente Berechnungsverfügbarkeit.
- Möglicherweise möchten Sie wichtige Statistiken vor geplanten Wartungs- oder Neustarts exportieren.
Hinweis
Erwägen Sie, Ihre Überwachungsabfragen regelmäßig auszuführen und Ergebnisse extern zu speichern, wenn Sie historische Leistungsdaten über Compute-Lebenszyklusereignisse hinweg benötigen.
Weitere Informationen: Postgres-Erweiterungen
Abfrageausführungsstatistiken
Nach dem Aktivieren der Erweiterung können Sie mithilfe der pg_stat_statements Ansicht Ausführungsstatistiken abfragen. Diese Ansicht enthält eine Zeile pro unterschiedliche Datenbankabfrage, die verschiedene Statistiken anzeigt:
SELECT * FROM pg_stat_statements LIMIT 10;
Die Ansicht enthält Details wie:
| Benutzer-ID | dbid | queryid | Anfrage | calls |
|---|---|---|---|---|
| 16391 | 16384 | -9047282044438606287 | SELECT * FROM-Benutzer; | 10 |
Eine vollständige Liste der Spalten und Beschreibungen finden Sie in der PostgreSQL-Dokumentation.
Wichtige Überwachungsabfragen
Verwenden Sie diese Abfragen, um die Datenbankleistung zu analysieren:
Suchen nach langsamsten Abfragen
Diese Abfrage identifiziert Abfragen mit der höchsten durchschnittliche Ausführungszeit, die auf ineffiziente Abfragen hinweisen kann, die eine Optimierung benötigen:
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;
Suchen der am häufigsten ausgeführten Abfragen
Die am häufigsten ausgeführten Abfragen sind häufig kritische Pfade und Optimierungskandidaten. Diese Abfrage enthält Cachetrefferverhältnisse, um Abfragen zu identifizieren, die von einer besseren Indizierung profitieren können:
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;
Suchen von Abfragen mit höchster E/A
Diese Abfrage identifiziert Abfragen, die die meisten Datenträger-E/A-Vorgänge ausführen, was sich auf die Gesamtleistung der Datenbank auswirken kann:
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;
Die zeitaufwändigsten Abfragen finden
Diese Abfrage identifiziert Abfragen, die die gesamte Ausführungszeit für alle Ausführungsvorgänge verbrauchen:
SELECT
query,
calls,
total_exec_time,
mean_exec_time,
rows
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;
Suchen nach Abfragen, die viele Zeilen zurückgeben
Diese Abfrage identifiziert Abfragen, die große Resultsets zurückgeben, die von Paginierung oder Filterung profitieren können:
SELECT
query,
calls,
rows,
(rows / calls) AS avg_rows_per_call
FROM pg_stat_statements
ORDER BY rows DESC
LIMIT 10;
Zurücksetzen von Statistiken
So setzen Sie die gesammelten Statistiken zurück:pg_stat_statements
Hinweis
Nur databricks_superuser Rollen verfügen über die berechtigung, die zum Ausführen dieser Funktion erforderlich ist. Die mit einem Lakebase-Projekt erstellte Standardrolle und die Rollen, die in der Lakebase-App erstellt werden, erhalten die Mitgliedschaft in der databricks_superuser-Rolle.
SELECT pg_stat_statements_reset();
Diese Funktion löscht alle gesammelten statistischen Daten, z. B. Ausführungszeiten und Zählungen für SQL-Anweisungen, und beginnt mit der Erfassung neuer Daten. Es ist besonders nützlich, wenn Sie mit dem Sammeln von Leistungsstatistiken neu beginnen möchten.
Ressourcen
Weitere Informationen: PostgreSQL-Dokumentation