Udostępnij za pośrednictwem


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ć spójne zoptymalizowanie obciążenia magazynu danych pod kątem wydajności. Zalecenia są ściśle zintegrowane z usługą Azure Advisor , aby zapewnić najlepsze rozwiązania bezpośrednio w witrynie Azure Portal. Dedykowana pula SQL zbiera dane telemetryczne i przedstawia zalecenia dotyczące aktywnego obciążenia w codziennej kadencji. Obsługiwane scenariusze rekomendacji przedstawiono poniżej wraz ze sposobem stosowania zalecanych akcji.

Możesz sprawdzić swoje rekomendacje już dziś!

Niesymetryczność danych

Niesymetryczność danych może powodować 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 ich 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 błąd, 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 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, oraz progi dotyczące rozmiaru i działania magazynu danych w celu zapewnienia generowania zaleceń o wysokiej jakości.

W poniższej sekcji opisano heurystyki oparte na obciążeniach, które można znaleźć w witrynie 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 działań dostępu
  • Współczynnik odczytu/aktualizacji — stosunek częstotliwości uzyskiwania dostępu do tabeli w stosunku do czasu aktualizacji w ciągu ostatnich siedmiu dni
  • Działanie — mierzy użycie na podstawie działań dostępu. To działanie porównuje aktywność dostępu do tabeli względem średniej aktywności 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 tabeli jednocześnie z klastrowanymi indeksami magazynu kolumn, które priorytetują najwyższą aktywność.

Ważne

Zalecenie zreplikowanej 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. Więcej informacji można znaleźć w poniższej dokumentacji.

Rywalizacja o bazę danych tempdb

Wydajność zapytań może ulec pogorszeniu, gdy występuje wysoka rywalizacja o bazę danych tempdb. Rywalizacja tempdb może wystąpić za pośrednictwem tabel tymczasowych zdefiniowanych przez użytkownika lub w przypadku dużego przenoszenia danych. W tym scenariuszu można skalować w celu zwiększenia alokacji bazy danych tempdb i skonfigurować klasy zasobów oraz zarządzanie obciążeniami , aby zapewnić większą ilość pamięci zapytań.

Błędna konfiguracja ładowania danych

Aby zminimalizować opóźnienia, należy zawsze ładować dane z konta magazynu w tym samym regionie co dedykowana pula SQL. Użyj instrukcji COPY na potrzeby pozyskiwania danych o wysokiej przepływności i podziel przygotowane pliki 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 o dużym rozmiarze partii, aby uzyskać lepszą przepływność. Zobacz Najlepsze rozwiązania dotyczące ładowania danych, aby uzyskać dodatkowe wskazówki dotyczące ładowania danych.