Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Skalowanie automatyczne bazy danych Lakebase znajduje się w wersji beta w następujących regionach: eastus2, westeurope, westus.
Autoskalowanie bazy danych Lakebase to najnowsza wersja bazy danych Lakebase z automatycznym skalowaniem obliczeniowym, skalowaniem do zera, rozgałęzianiem i natychmiastowym przywracaniem. Aby zapoznać się z porównaniem funkcji z Lakebase Provisioned, sprawdź wybieranie między wersjami.
pg_stat_statements to rozszerzenie Postgres, które zapewnia szczegółowy widok statystyczny wykonywania instrukcji SQL w bazie danych Lakebase Postgres. Śledzi informacje, takie jak liczba wykonań, łączny i średni czas wykonywania oraz inne, pomagając analizować i optymalizować wydajność zapytań SQL.
Kiedy należy używać pg_stat_statements
Użyj pg_stat_statements , gdy potrzebujesz:
- Szczegółowe statystyki wykonywania zapytań i metryki wydajności
- Identyfikacja często wykonywanych lub wolnych zapytań
- Analiza wydajności zapytań i szczegółowe informacje dotyczące optymalizacji
- Analiza obciążenia bazy danych i planowanie pojemności
- Integracja z niestandardowymi narzędziami monitorowania i panelami kontrolnymi
Włącz pg_stat_statements
Rozszerzenie pg_stat_statements jest dostępne w usłudze Lakebase Postgres. Aby ją włączyć:
Nawiąż połączenie z bazą danych przy użyciu edytora SQL lub klienta Postgres.
Uruchom następujące polecenie SQL, aby utworzyć rozszerzenie:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;Rozszerzenie rozpoczyna zbieranie statystyk natychmiast po utworzeniu.
Trwałość danych
Statystyki zebrane przez rozszerzenie pg_stat_statements są przechowywane w pamięci i nie są zachowywane, gdy środowisko obliczeniowe Lakebase jest zawieszone lub ponownie uruchomione. Jeśli na przykład obliczenia skalują się w dół z powodu braku aktywności, wszelkie istniejące statystyki zostaną utracone. Nowe statystyki są zbierane po ponownym uruchomieniu obliczeń.
To zachowanie oznacza, że:
- Statystyki resetowane po ponownym uruchomieniu lub zawieszeniu obliczeń
- Długotrwała analiza wydajności wymaga spójnej dostępności obliczeniowej
- Przed zaplanowaną konserwacją lub ponownym uruchomieniem możesz wyeksportować ważne statystyki
Uwaga / Notatka
Rozważ regularne uruchamianie zapytań monitorowania i przechowywanie wyników zewnętrznie, jeśli potrzebujesz historycznych danych wydajności w zdarzeniach cyklu życia obliczeniowego.
Dowiedz się więcej: Rozszerzenia bazy danych Postgres
Statystyki wykonywania zapytań
Po włączeniu rozszerzenia można wykonywać zapytania dotyczące statystyk wykonywania przy użyciu pg_stat_statements widoku. Ten widok zawiera jeden wiersz na odrębne zapytanie bazy danych z różnymi statystykami:
SELECT * FROM pg_stat_statements LIMIT 10;
Widok zawiera szczegółowe informacje, takie jak:
| identyfikator użytkownika | dbid | queryid | kwerenda | Wywołania |
|---|---|---|---|---|
| 16391 | 16384 | -9047282044438606287 | SELECT * Z użytkowników; | 10 |
Pełną listę kolumn i opisów można znaleźć w dokumentacji bazy danych PostgreSQL.
Kluczowe zapytania monitorowania
Użyj tych zapytań, aby przeanalizować wydajność bazy danych:
Znajdowanie najwolniejszych zapytań
To zapytanie identyfikuje zapytania o najwyższym średnim czasie wykonywania, co może wskazywać niewydajne zapytania wymagające optymalizacji:
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;
Znajdowanie najczęściej wykonywanych zapytań
Najczęściej wykonywane zapytania stanowią ścieżki krytyczne i są kandydatami do optymalizacji. To zapytanie zawiera współczynniki trafień pamięci podręcznej, aby ułatwić identyfikowanie zapytań, które mogą korzystać z lepszego indeksowania:
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;
Znajdź zapytania z najwyższym I/O
To zapytanie identyfikuje zapytania, które wykonują najwięcej operacji we/wy dysku, co może mieć wpływ na ogólną wydajność bazy danych:
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;
Znajdowanie najbardziej czasochłonnych zapytań
To zapytanie identyfikuje zapytania, które zużywają najwięcej całkowitego czasu wykonywania we wszystkich uruchomieniach:
SELECT
query,
calls,
total_exec_time,
mean_exec_time,
rows
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;
Znajdź zapytania, które zwracają wiele wierszy
To zapytanie identyfikuje zapytania zwracające duże zestawy wyników, które mogą korzystać z stronicowania lub filtrowania:
SELECT
query,
calls,
rows,
(rows / calls) AS avg_rows_per_call
FROM pg_stat_statements
ORDER BY rows DESC
LIMIT 10;
Resetowanie statystyk
Aby zresetować statystyki zebrane przez pg_stat_statementsprogram:
Uwaga / Notatka
Tylko databricks_superuser role mają uprawnienia wymagane do wykonania tej funkcji. Roli domyślnej utworzonej z projektem Lakebase i rolom utworzonym w aplikacji Lakebase są przypisane do roli databricks_superuser.
SELECT pg_stat_statements_reset();
Ta funkcja czyści wszystkie skumulowane dane statystyczne, takie jak czasy wykonywania i liczniki dla instrukcji SQL, i rozpoczyna zbieranie nowych danych. Jest to szczególnie przydatne, gdy chcesz zacząć od zbierania statystyk wydajności.
Zasoby
Dowiedz się więcej: Dokumentacja bazy danych PostgreSQL