Samouczek: szczegółowe informacje o wydajności zapytań dla usługi Azure Database for MySQL — serwer elastyczny

DOTYCZY: Azure Database for MySQL — serwer elastyczny

Analiza wydajności zapytań proponuje zapewnienie inteligentnej analizy zapytań dla baz danych. Najbardziej preferowanymi szczegółowymi informacjami są wzorce obciążeń i dłuższe zapytania. Zrozumienie tych szczegółowych informacji może pomóc w znalezieniu zapytań, które mają być zoptymalizowane pod kątem ogólnej wydajności i efektywnego korzystania z dostępnych zasobów.

Szczegółowe informacje o wydajności zapytań zostały zaprojektowane w celu ułatwienia poświęcania mniejszego czasu na rozwiązywanie problemów z wydajnością bazy danych, udostępniając takie informacje jak:

  • Pierwsze N długotrwałych zapytań i ich trendów.
  • Szczegóły zapytania: wyświetl historię wykonywania z minimalnym, maksymalnym, średnim i standardowym czasem zapytania o odchylenie.
  • Wykorzystanie zasobów (procesor CPU, pamięć i magazyn).

W tym artykule omówiono sposób używania dzienników wolnych zapytań serwera elastycznego usługi Azure Database for MySQL, narzędzia usługi Log Analytics i szablonów skoroszytów w celu wizualizacji szczegółowych informacji o wydajności zapytań dla elastycznego serwera usługi Azure Database for MySQL.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Konfigurowanie dzienników wolnych zapytań przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure
  • Konfigurowanie diagnostyki
  • Wyświetlanie dzienników wolnych zapytań przy użyciu usługi Log Analytics
  • Wyświetlanie dzienników wolnych zapytań przy użyciu skoroszytów

Wymagania wstępne

Konfigurowanie dzienników wolnych zapytań przy użyciu witryny Azure Portal

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz wystąpienie serwera elastycznego usługi Azure Database for MySQL.

  3. W okienku po lewej stronie w obszarze Ustawienia wybierz pozycję Parametry serwera.

    Screenshot showing the 'Server parameters' list.

  4. Dla parametru slow_query_log wybierz pozycję .

    Screenshot showing the 'slow_query_log' parameter switched to 'ON'.

  5. Inne parametry, takie jak long_query_time i log_slow_admin_statements, można znaleźć w dokumentacji dzienników wolnych zapytań.

    Screenshot showing updated values for the remaining slow query log-related parameters.

  6. Wybierz pozycję Zapisz.

    Screenshot of the 'Save' button for saving changes in the parameter values.

Możesz wrócić do listy dzienników, zamykając stronę Parametry serwera.

Konfigurowanie dzienników wolnych zapytań przy użyciu interfejsu wiersza polecenia platformy Azure

Alternatywnie możesz włączyć i skonfigurować dzienniki wolnych zapytań dla wystąpienia serwera elastycznego usługi Azure Database for MySQL z poziomu interfejsu wiersza polecenia platformy Azure, uruchamiając następujące polecenie:

Ważne

Aby upewnić się, że wydajność wystąpienia serwera elastycznego usługi Azure Database for MySQL nie ma znacznego wpływu, zalecamy rejestrowanie tylko typów zdarzeń i użytkowników wymaganych do celów inspekcji.

  • Włącz dzienniki wolnych zapytań.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
  • Ustaw long_query_time czas na 10 sekund. To ustawienie spowoduje zarejestrowanie wszystkich zapytań wykonywanych przez ponad 10 sekund. Dostosuj ten próg na podstawie definicji dla wolnych zapytań.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10

Konfigurowanie diagnostyki

Dzienniki wolnych zapytań są zintegrowane z ustawieniami diagnostycznymi usługi Azure Monitor, aby umożliwić przesyłanie dzienników do dowolnego z trzech ujść danych:

  • Obszar roboczy usługi Log Analytics
  • Centrum zdarzeń
  • Konto magazynu

Uwaga

Przed skonfigurowaniem ustawień diagnostycznych należy utworzyć ujścia danych. Dostęp do dzienników wolnych zapytań można uzyskać w skonfigurowanych ujściach danych. Wyświetlenie dzienników może potrwać do 10 minut.

  1. W okienku po lewej stronie w obszarze Monitorowanie wybierz pozycję Ustawienia diagnostyczne.

  2. W okienku Ustawienia diagnostyki wybierz pozycję Dodaj ustawienie diagnostyczne.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  3. W polu Nazwa wprowadź nazwę ustawienia diagnostyki.

  4. Określ miejsca docelowe (obszar roboczy usługi Log Analytics, centrum zdarzeń lub konto magazynu), do których mają być wysyłane dzienniki wolnych zapytań, zaznaczając odpowiednie pola wyboru.

    Uwaga

    W tym samouczku wyślesz dzienniki wolnych zapytań do obszaru roboczego usługi Log Analytics.

  5. W obszarze Dziennik jako typ dziennika zaznacz pole wyboru MySqlSlowLogs .

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  6. Po skonfigurowaniu ujścia danych do potoku dzienników wolnych zapytań wybierz pozycję Zapisz.

    Screenshot of Diagnostic settings configuration options, with Save highlighted.

Wyświetlanie szczegółowych informacji o zapytaniach przy użyciu usługi Log Analytics

  1. W usłudze Log Analytics w okienku po lewej stronie w obszarze Monitorowanie wybierz pozycję Dzienniki.

  2. Zamknij otwarte okno Zapytania.

    Screenshot of the Log Analytics 'Queries' pane.

  3. W oknie zapytania można napisać zapytanie do wykonania. Aby znaleźć zapytania dłuższe niż 10 sekund na określonym serwerze, użyliśmy następującego kodu:

    AzureDiagnostics
       | where Category == 'MySqlSlowLogs'
       | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
       | where query_time_d > 10
    
  4. Wybierz zakres czasu, a następnie uruchom zapytanie. Wyniki są wyświetlane na poniższej ilustracji:

    Screenshot of a slow query log.

Wyświetlanie szczegółowych informacji o zapytaniach przy użyciu skoroszytów

  1. W witrynie Azure Portal w okienku po lewej stronie w obszarze Monitorowanie wystąpienia serwera elastycznego usługi Azure Database for MySQL wybierz pozycję Skoroszyty.

  2. Wybierz szablon Szczegółowe informacje o wydajności zapytań.

    Screenshot showing all workbooks in the workbook gallery.

W skoroszycie można wyświetlić następujące wizualizacje:

  • Ładowanie zapytań
  • Łączna liczba aktywnych Połączenie
  • Trend wolnych zapytań (>czas zapytania 10 s)
  • Szczegóły wolnych zapytań
  • Wyświetl listę 5 najdłuższych zapytań
  • Podsumowywanie wolnych zapytań według minimalnej, maksymalnej, średniej i czasu zapytania odchylenia standardowego

Screenshot showing two long queries.

Uwaga

  • Aby wyświetlić wykorzystanie zasobów, możesz użyć szablonu Przegląd.
  • Możesz również edytować te szablony i dostosowywać je zgodnie z wymaganiami. Aby uzyskać więcej informacji, zobacz Skoroszyty platformy Azure.
  • Aby uzyskać szybki widok, możesz również przypiąć skoroszyty lub zapytanie usługi Log Analytics do pulpitu nawigacyjnego. Aby uzyskać więcej informacji, zobacz Tworzenie pulpitu nawigacyjnego w witrynie Azure Portal.

W obszarze Szczegółowe informacje o wydajności zapytań dwie metryki, które mogą pomóc w znalezieniu potencjalnych wąskich gardeł, to czas trwania i liczba wykonań. Długotrwałe zapytania mają największy potencjał do dłuższego blokowania zasobów, blokowania innych użytkowników i ograniczania skalowalności.

W niektórych przypadkach duża liczba wykonań może prowadzić do większej liczby rund sieciowych. Rundy wpływają na wydajność. Podlegają one opóźnieniu sieci i opóźnieniu serwera podrzędnego. Dzięki temu liczba wykonań może pomóc w znalezieniu często wykonywanych zapytań ("czatty"). Te zapytania są najlepszymi kandydatami do optymalizacji.

Następne kroki