Wprowadzenie
Powolne zapytanie w godzinach szczytu może stopniowo spowodować awarię usługi. Źle wybrany poziom izolacji może spowodować, że użytkownicy będą widzieć nieaktualne dane lub blokować się nawzajem przez kilka sekund naraz. Problemy z wydajnością w usłudze Azure SQL Database rzadko mają jedną przyczynę. Wynikają one z interakcji między konfiguracją sprzętu, zachowaniem współbieżności, wykonywaniem zapytań i wzorcami obciążenia. Diagnozowanie tych problemów wymaga zrozumienia każdej warstwy i znajomości narzędzi do użycia na każdym poziomie.
Wyobraź sobie zespół zarządzający aplikacją do handlu elektronicznego w usłudze Azure SQL Database. Podczas sprzedaży wakacyjnej przepływność transakcji spada, a klienci zgłaszają przekroczenia limitu czasu. Czy baza danych jest niedostatecznie aprowizowana? Czy zapytania skanują całe tabele zamiast szukać za pośrednictwem indeksów? Czy łańcuchy blokad tworzą się między równoczesnymi transakcjami? Czy optymalizator zapytań wybiera zły plan? Każda możliwość wymaga innego narzędzia do badania i innej strategii rozwiązywania problemów. Ten moduł umożliwia systematyczne pracę z każdym z tych pytań.
Po ukończeniu tego modułu możesz wykonywać następujące czynności:
- Ocenić i zalecać konfigurację baz danych, w tym poziomy usług, poziomy obliczeniowe i limity zasobów.
- Wybierz poziomy izolacji transakcji i kontrolki współbieżności, które równoważą spójność z przepływnością.
- Analizowanie wydajności zapytań przy użyciu planów wykonywania i dynamicznych widoków zarządzania.
- Monitorowanie i dostrajanie zapytań za pomocą Query Store i Query Performance Insight.
- Identyfikuj i rozwiązuj problemy z blokowaniem i zakleszczaniem przy użyciu dynamicznych widoków zarządzania (DMV) oraz Zdarzeń Rozszerzonych.