Informacje o wydajności zapytań na elastycznym serwerze Azure Database for PostgreSQL

Insight dotyczący wydajności zapytań zapewnia inteligentną analizę zapytań dla baz danych w wystąpieniu serwera elastycznego usługi Azure Database for PostgreSQL. Pomaga identyfikować zapytania zużywające najwięcej zasobów i długo działające zapytania w ramach obciążenia roboczego. Ułatwia to znalezienie zapytań w celu zoptymalizowania pod kątem poprawy ogólnej wydajności obciążenia i efektywnego korzystania z opłacanego zasobu. Narzędzie Szczegółowe informacje o wydajności zapytań skraca czas poświęcany na rozwiązywanie problemów z wydajnością bazy danych, oferując:

  • Sprawdź, które zapytania są długotrwałe i jak zmieniają się w czasie.
  • Określ typy oczekiwania wpływające na te zapytania.
  • Szczegółowe informacje o najważniejszych zapytaniach do bazy danych według liczby wywołań (liczby wykonań), wykorzystania danych, IOPS oraz wykorzystania plików tymczasowych (potencjalni kandydaci do optymalizacji w celu poprawy wydajności).
  • Możliwość przechodzenia do szczegółów zapytania w celu wyświetlenia identyfikatora zapytania i historii wykorzystania zasobów.
  • Lepszy wgląd w ogólne użycie zasobów baz danych.

Wymagania wstępne

  • Query Store jest włączony dla tej bazy danych. Jeśli Magazyn zapytań nie jest uruchomiony, portal Azure wyświetli monit o jego włączenie. Aby włączyć magazyn zapytań, zapoznaj się tutaj.

Uwaga / Notatka

Magazyn zapytań jest obecnie wyłączony. Szczegółowe informacje o wydajności zapytań zależą od danych funkcji Magazyn zapytań. Należy ją włączyć, ustawiając parametr pg_qs.query_capture_mode dynamiczny na ALL lub TOP.

  • Próbkowanie oczekiwań w Magazynie zapytań jest włączone w bazie danych. Jeśli próbkowanie oczekiwań w Query Store nie jest włączone, portal Azure wyświetli monit o włączenie tej funkcji. Aby włączyć próbkowanie oczekiwań w Magazynie zapytań, zobacz tutaj.

Uwaga / Notatka

Próbkowanie oczekiwań w Magazynie zapytań jest obecnie wyłączone. Funkcja Query Performance Insight zależy od danych próbkowania oczekiwań z Query Store. Należy ją włączyć, ustawiając parametr pgms_wait_sampling.query_capture_mode dynamiczny na ALL.

Uwaga / Notatka

Dane magazynu zapytań nie są przesyłane do obszaru roboczego usługi Log Analytics. Dzienniki (dane sesji / uruchomieniowe dane magazynu zapytań / statystyki oczekiwań magazynu zapytań) nie są wysyłane do obszaru roboczego analizy dzienników, który jest niezbędny do uzyskania szczegółowych informacji o wydajności zapytań. Aby skonfigurować ustawienia diagnostyczne dla wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL i wysłać dane do obszaru roboczego usługi Log Analytics, zapoznaj się z artykułem Konfigurowanie dzienników i uzyskiwanie dostępu do dzienników w usłudze Azure Database for PostgreSQL.

Permissions

Potrzebne są następujące uprawnienia kontroli dostępu opartej na rolach (Azure RBAC) przypisane do usługi Azure Database dla Twojej instancji PostgreSQL — elastyczna instancja serwera, aby móc używać Analizy Wydajności Zapytania:

  • Microsoft.DBforPostgreSQL/flexibleServers/configurations/read
  • Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read
  • Microsoft.DBforPostgreSQL/flexibleServers/read
  • Microsoft.Insights/Components/read
  • Microsoft.Insights/DiagnosticSettings/read
  • Microsoft.Insights/DiagnosticSettingsCategories/read
  • Microsoft.Insights/Logs/AzureDiagnostics/read
  • Microsoft.Insights/Logs/read

Korzystanie z szczegółowych informacji o wydajności zapytań

Widok Szczegółowych informacji o wydajności zapytań w portalu Azure wyświetla wizualizacje najważniejszych informacji z Query Store. Query Performance Insight jest łatwy w użyciu:

  1. Otwórz portal Azure i znajdź wystąpienie elastycznego serwera usługi Azure Database for PostgreSQL, które chcesz przeanalizować.

  2. Z menu po lewej stronie wybierz pozycję Inteligentna wydajność>Szczegółowe informacje o wydajności zapytań.

  3. Wybierz zakres czasu na potrzeby badania zapytań.

  4. Na pierwszej karcie przejrzyj listę długotrwałych zapytań.

  5. Użyj suwaków lub powiększenia, aby zmienić obserwowany interwał. Zrzut ekranu przedstawiający używanie suwaków w celu zmiany obserwowanego interwału.

  6. Opcjonalnie możesz wybrać opcję niestandardowy, aby określić zakres czasu.

Uwaga / Notatka

Aby serwer elastyczny usługi Azure Database for PostgreSQL mógł wyświetlać informacje w szczegółach wydajności zapytań, magazyn zapytań musi przechwytywać dane przez kilka godzin. Jeśli baza danych nie ma aktywności lub magazyn zapytań nie był aktywny w określonym okresie, wykresy będą puste, gdy szczegółowe informacje o wydajności zapytań wyświetlają ten zakres czasu. Magazyn zapytań można włączyć w dowolnym momencie, jeśli nie jest uruchomiony. Aby uzyskać więcej informacji, zobacz Najlepsze praktyki dotyczące Query Store.

  1. Aby wyświetlić szczegóły określonego zapytania, kliknij listę rozwijaną QueryId Snapshot . Zrzut ekranu przedstawiający wyświetlanie szczegółów określonego zapytania.

  2. Aby uzyskać tekst zapytania dla określonego zapytania, połącz się z bazą azure_sys danych na serwerze i wykonaj zapytanie query_store.query_texts_view za pomocą polecenia QueryId. Zrzut ekranu przedstawiający pobieranie tekstu zapytania dla określonego zapytania.

  3. Na kolejnych kartach można znaleźć inne szczegółowe informacje dotyczące zapytań, w tym:

    • Statystyki oczekiwania
    • Najczęstsze zapytania wg liczby wywołań
    • Najważniejsze zapytania według użycia danych
    • Najpopularniejsze zapytania według IOPS
    • Najważniejsze zapytania według plików tymczasowych

Rozważania

  • Funkcja analizy wydajności zapytań nie jest dostępna dla replik do odczytu.
  • Aby funkcja Query Performance Insight działała, dane muszą znajdować się w Query Store. Magazyn zapytań jest funkcją opcjonalną, dlatego domyślnie nie jest włączony na serwerze. Magazyn zapytań jest włączony lub wyłączony globalnie dla wszystkich baz danych na danym serwerze i nie można włączyć ani wyłączyć dla każdej bazy danych.
  • Włączenie funkcji Query Store w warstwie cenowej Burstable może negatywnie wpłynąć na wydajność; dlatego nie zalecamy włączania tej funkcji w tej warstwie.