Zalecenia usługi Azure Advisor dotyczące dedykowanej puli SQL w usłudze Azure Synapse Analytics

W tym artykule opisano dedykowane zalecenia dotyczące puli SQL dostępne w usłudze Azure Advisor.

Dedykowana pula SQL zawiera zalecenia, aby zapewnić, że obciążenie magazynu danych jest spójnie zoptymalizowane pod kątem wydajności. Zalecenia są ściśle zintegrowane z usługą Azure Advisor, aby zapewnić najlepsze rozwiązania bezpośrednio w ramach Azure Portal. Dedykowana pula SQL zbiera dane telemetryczne i przedstawia zalecenia dotyczące aktywnego obciążenia w codziennych okresach. Obsługiwane scenariusze rekomendacji przedstawiono poniżej wraz z sposobem stosowania zalecanych akcji.

Możesz sprawdzić swoje rekomendacje dzisiaj!

Niesymetryczność danych

Niesymetryczność danych może spowodować dodatkowe wąskie gardła przenoszenia danych lub zasobów podczas uruchamiania obciążenia. W poniższej dokumentacji opisano sposób identyfikowania niesymetryczności danych i zapobiegania jego występowaniu przez wybranie optymalnego klucza dystrybucji.

Brak lub nieaktualne statystyki

Posiadanie nieoptymalnych statystyk może poważnie wpłynąć na wydajność zapytań, ponieważ może to spowodować, że optymalizator zapytań SQL generuje nieoptymalne plany zapytań. W poniższej dokumentacji opisano najlepsze rozwiązania dotyczące tworzenia i aktualizowania statystyk:

Aby wyświetlić listę tabel, których dotyczy ten temat, uruchom następujący skrypt języka T-SQL. Usługa Advisor stale uruchamia ten sam skrypt języka T-SQL, aby wygenerować te zalecenia.

Replikowanie tabel

W przypadku zaleceń dotyczących replikowanej tabeli usługa Advisor wykrywa kandydatów do tabel na podstawie następujących cech fizycznych:

  • Rozmiar replikowanej tabeli
  • Liczba kolumn
  • Typ dystrybucji tabel
  • Liczba partycji

Usługa Advisor stale wykorzystuje heurystyki oparte na obciążeniach, takie jak częstotliwość dostępu do tabel, wiersze zwracane średnio i progi dotyczące rozmiaru i działania magazynu danych, aby zapewnić generowanie zaleceń wysokiej jakości.

W poniższej sekcji opisano heurystyki oparte na obciążeniach, które można znaleźć w Azure Portal dla każdego zalecenia dotyczącego replikowanej tabeli:

  • Skanuj średnio — średni procent wierszy zwróconych z tabeli dla każdego dostępu do tabeli w ciągu ostatnich siedmiu dni
  • Częste odczytywanie, brak aktualizacji — wskazuje, że tabela nie została zaktualizowana w ciągu ostatnich siedmiu dni podczas wyświetlania aktywności dostępu
  • Współczynnik odczytu/aktualizacji — stosunek częstotliwości uzyskiwania dostępu do tabeli względem czasu aktualizacji w ciągu ostatnich siedmiu dni
  • Działanie — mierzy użycie na podstawie aktywności dostępu. To działanie porównuje aktywność dostępu do tabeli względem średniego działania dostępu do tabeli w magazynie danych w ciągu ostatnich siedmiu dni.

Obecnie usługa Advisor będzie wyświetlać tylko cztery zreplikowane kandydatów do tabel jednocześnie z indeksami magazynu kolumn klastrowanych priorytetami najwyższego poziomu aktywności.

Ważne

Zalecenie dotyczące replikowanej tabeli nie jest weryfikacją i nie uwzględnia operacji przenoszenia danych. Pracujemy nad dodaniem tego jako heurystycznego, ale w międzyczasie należy zawsze weryfikować obciążenie po zastosowaniu zalecenia. Aby dowiedzieć się więcej na temat replikowanych tabel, zapoznaj się z następującą dokumentacją.

Adaptacyjne wykorzystanie pamięci podręcznej (Gen2)

Jeśli masz duży zestaw roboczy, możesz napotkać niski procent trafień pamięci podręcznej i wysokie wykorzystanie pamięci podręcznej. W tym scenariuszu należy skalować w górę, aby zwiększyć pojemność pamięci podręcznej i ponownie uruchomić obciążenie. Aby uzyskać więcej informacji, odwiedź następującą dokumentację.

Rywalizacja o bazę danych tempdb

Wydajność zapytań może ulec pogorszeniu, gdy występuje wysoka rywalizacja bazy danych tempdb. Rywalizacja bazy danych Tempdb może wystąpić za pośrednictwem tabel tymczasowych zdefiniowanych przez użytkownika lub gdy istnieje duża ilość przenoszenia danych. W tym scenariuszu można skalować w celu zwiększenia alokacji bazy danych tempdb i skonfigurowania klas zasobów i zarządzania obciążeniami w celu zapewnienia większej ilości pamięci do zapytań.

Nieprawidłowa konfiguracja ładowania danych

Zawsze należy ładować dane z konta magazynu w tym samym regionie co dedykowana pula SQL, aby zminimalizować opóźnienie. Użyj instrukcji COPY na potrzeby pozyskiwania danych o wysokiej przepływności i podziel pliki etapowe na koncie magazynu, aby zmaksymalizować przepływność. Jeśli nie możesz użyć instrukcji COPY, możesz użyć interfejsu API sqlBulkCopy lub narzędzia bcp z dużym rozmiarem partii, aby uzyskać lepszą przepływność. Zobacz Najlepsze rozwiązania dotyczące ładowania danych, aby uzyskać dodatkowe wskazówki dotyczące ładowania danych.