W tym poście chciałbym pokrótce omówić Informacje o wydajności zapytań — Narzędzie SQL Azure, które pomoże Ci zidentyfikować najdroższe zapytania w Twojej bazie danych.
Narzędzie Query Performance Insights zostało ogłoszone na początku października 2015 r. Aby zrozumieć, co to jest, zastanówmy się, w jaki sposób zwykle dowiadujesz się, że wydajność bazy danych spadła? Prawdopodobnie otrzymujesz e-maile od swoich klientów lub utworzenie raportu tygodniowego zamiast kilku minut zajmuje godzinę, a może Twoja aplikacja zacznie zgłaszać wyjątki.
Nowy portal Azure
Aby podjąć pewne działania, odwiedzasz portal.azure.com, znajdź swoją bazę danych na liście zasobów i zacznij oglądać Wykres monitorowania:
Tak, coś się stało, DTU podskoczyło do 90%, co dalej? Aby zajrzeć głębiej i znaleźć winowajcę, załadujmy Statystyki wydajności zapytań.
Informacje o wydajności zapytań
Aby uruchomić analizę wydajności zapytań, wykonaj następujące czynności:
1. W portalu przejdź do bazy danych SQL i kliknij opcję Query Performance Insight.
2. Spójrz na wykres, aby uzyskać szczegółowe informacje.
Górny wiersz pokazuje ogólne % DTU dla bazy danych, podczas gdy słupki pokazują % procesora zużytego przez wybrane zapytania w wybranym interwale (na przykład, jeśli wybrano ostatni tydzień, każdy słupek oznacza 1 dzień).
Dolna siatka przedstawia zagregowane informacje dla widocznych zapytań.
- Średni procesor na zapytanie w obserwowalnym przedziale.
- Całkowity czas trwania na zapytanie.
- Całkowita liczba wykonań dla konkretnego zapytania.
Wybierz lub wyczyść poszczególne zapytania, aby uwzględnić je lub wykluczyć z wykresu.
3. W przypadku nieaktualnych danych możesz kliknąć przycisk Odśwież.
4. Aby dostosować sposób, w jaki procesor zużywa dane, lub pokazać inny okres, kliknij Ustawienia.
Eksplorowanie szczegółów poszczególnych zapytań
Otwórzmy zapytanie, które wykorzystało największą ilość procesorów. Aby wyświetlić szczegóły zapytania:
1. Kliknij dowolne zapytanie na liście najczęstszych zapytań.
Zostanie otwarty widok szczegółów, a zużycie procesora przez zapytania zostanie rozłożone w czasie. Możemy zobaczyć wykres, aby uzyskać szczegółowe informacje. Górna linia to ogólny procent DTU, a słupki to procent procesora zużyty przez wybrane zapytanie.
2. Przeanalizuj dane, aby uzyskać szczegółowe metryki, w tym czas trwania, liczbę wykonań i procent wykorzystania zasobów dla każdego interwału uruchomionego zapytania.
Optymalizacja konfiguracji magazynu zapytań pod kątem wglądu w wydajność zapytań
Podczas korzystania z analizy wydajności zapytań możesz zobaczyć następujące komunikaty dotyczące magazynu zapytań:
- „Sklep z zapytaniami osiągnął swoją pojemność i nie zbiera nowych danych”.
- „Zapis zapytań dla tej bazy danych jest w trybie tylko do odczytu i nie zbiera danych dotyczących wydajności”.
- „Parametry magazynu zapytań nie są optymalnie ustawione dla analizy wydajności zapytań”.
Zasadniczo pojawiają się, gdy magazyn zapytań nie może zebrać nowych danych. Aby naprawić, możesz użyć następujących opcji:
- Zmień zasady przechowywania i przechwytywania zapytań magazynu
- Zwiększ rozmiar magazynu zapytań
- Wyczyść magazyn zapytań
- Zalecane
Zalecane zasady przechowywania i przechwytywania
Istnieją dwa rodzaje zasad przechowywania:
Na podstawie rozmiaru – AUTO automatycznie czyści dane po osiągnięciu maksymalnego rozmiaru.
Na podstawie czasu – Wartość domyślna to 30 dni. Gdy w magazynie zapytań zabraknie miejsca, informacje o zapytaniu zostaną usunięte starsze niż 30 dni.
Zasadę przechwytywania można ustawić na:
Wszystkie – Opcja domyślna (przechwytuje wszystkie zapytania).
Automatycznie – Ignorowane są rzadkie zapytania i zapytania z nieznacznym czasem kompilacji i wykonania. Progi dla liczby wykonań, kompilacji i czasu działania są określane wewnętrznie.
Brak – Query Store przestaje przechwytywać nowe zapytania.
Podsumowanie
Wgląd w wydajność zapytań umożliwia analizowanie i zrozumienie wpływu obciążenia zapytania oraz jego związku ze zużyciem zasobów bazy danych. Korzystając z tego narzędzia, dowiesz się o najczęściej używanych zapytaniach i łatwo zidentyfikujesz te, które należy naprawić, zanim staną się problemem.
Dalsza lektura:
Query Store:rejestrator danych lotu dla Twojej bazy danych