Konfigurowanie i utrzymywanie wydajności
Zrozumienie możliwości usługi Azure SQL jest istotne w przypadku zapewniania spójnej wydajności. Ważne jest również poznanie dostępnych opcji i ograniczeń w celu konfigurowania w usługach Azure SQL Managed Instance i Azure SQL Database, które mogą mieć wpływ na wydajność. Do takich właściwości należą:
- Tematy bazy
tempdb
danych - Konfigurowanie baz danych
- Konfigurowanie plików i grup plików
- Konfigurowanie maksymalnego stopnia równoległości
- Korzystanie z zarządcy zasobów
- Utrzymywanie indeksów i statystyk
Tempdb
Systemowa tempdb
baza danych jest ważnym zasobem udostępnionym używanym przez aplikacje. Zapewnienie odpowiedniej konfiguracji może mieć wpływ na możliwość zapewnienia spójnej tempdb
wydajności. tempdb
Używasz w ten sam sposób zarówno dla programu SQL Server, jak i usługi Azure SQL. Należy jednak pamiętać, że możliwość konfigurowania tempdb
jest inna, w tym umieszczanie plików, liczba i rozmiar plików oraz tempdb
opcje konfiguracji.
Pliki tempdb
bazy danych są zawsze automatycznie przechowywane na lokalnych dyskach SSD, więc wydajność we/wy nie powinna być problemem.
Specjaliści ds. programu SQL Server często używają więcej niż jednego pliku bazy danych do partycjonowania alokacji tabel tempdb
. W przypadku usługi Azure SQL Database liczba plików jest skalowana przy użyciu liczby rdzeni wirtualnych (na przykład dwóch rdzeni wirtualnych równych czterem plikom) z maksymalnie 16. Liczba plików nie można skonfigurować za pomocą języka T-SQL w usłudze tempdb
, ale można ją skonfigurować, zmieniając opcję wdrożenia. Maksymalny rozmiar tempdb
jest skalowany na liczbę rdzeni wirtualnych. Otrzymujesz 12 plików wraz z usługą SQL Managed Instance, niezależnie od rdzeni wirtualnych.
Opcja MIXED_PAGE_ALLOCATION
bazy danych jest ustawiona na WYŁĄCZONE i AUTOGROW_ALL_FILES
jest ustawiona na WARTOŚĆ WŁĄCZONE. Nie można tego skonfigurować, ale tak jak w przypadku programu SQL Server, są to zalecane wartości domyślne.
tempdb
Funkcja optymalizacji metadanych wprowadzona w programie SQL Server 2019, która może złagodzić duże opóźnienia, nie jest obecnie dostępna w usłudze Azure SQL Database ani w usłudze Azure SQL Managed Instance.
Konfiguracja bazy danych
Najczęściej konfiguracja bazy danych jest wykonywana przy użyciu instrukcji ALTER DATABASE i ALTER DATABASE SCOPED CONFIGURATION w języku T-SQL. Na potrzeby usługi Azure SQL jest dostępnych wiele opcji konfiguracji dotyczących wydajności. Zapoznaj się z dokumentacją języka T-SQL ALTER DATABASE i ALTER DATABASE SCOPED CONFIGURATION, aby uzyskać różnice między programem SQL Server, usługą Azure SQL Database i usługą Azure SQL Managed Instance.
W przypadku wydajności jedną z opcji, którą nie można zmienić, jest model odzyskiwania bazy danych. Wartością domyślną jest pełne odzyskiwanie. Dzięki temu baza danych może spełniać wymogi umów dotyczących poziomu usług dla platformy Azure (umowy SLA). W związku z tym minimalne rejestrowanie na potrzeby operacji zbiorczych nie jest obsługiwane. Minimalne rejestrowanie dla operacji zbiorczych jest obsługiwane w przypadku programu tempdb
.
Pliki i grupy plików
Specjaliści ds. programu SQL Server często używają plików i grup plików, aby zwiększyć wydajność operacji we/wy przez fizyczne umieszczanie plików. Usługa Azure SQL nie umożliwia użytkownikom umieszczania plików w określonych systemach dysków. Usługa Azure SQL ma jednak zobowiązania dotyczące zasobów na potrzeby wydajności operacji we/wy w odniesieniu do stawek, liczby operacji we/wy na sekundę i opóźnień. W ten sposób ograniczenie użytkownikowi fizycznego umieszczania plików może stanowić korzyść.
Usługa Azure SQL Database ma tylko jeden plik bazy danych (warstwa Hiperskala zwykle ma ich kilka), a maksymalny rozmiar jest konfigurowany za pomocą interfejsów platformy Azure. Nie ma funkcji tworzenia dodatkowych plików.
Usługa Azure SQL Managed Instance obsługuje dodawanie plików bazy danych i konfigurowanie rozmiarów, ale nie fizyczne umieszczanie plików. Aby zwiększyć wydajność operacji we/wy, możesz użyć liczby plików i rozmiarów plików dla usługi SQL Managed Instance. Ponadto grupy plików zdefiniowane przez użytkownika są obsługiwane w przypadku usługi SQL Managed Instance na potrzeby zarządzania.
Konfiguracja MAXDOP
Maksymalny stopień równoległości (MAXDOP) może mieć wpływ na wydajność poszczególnych zapytań. Program SQL Server i usługa Azure SQL obsługują opcję MAXDOP w ten sam sposób. Opcję MAXDOP można skonfigurować w usłudze Azure SQL podobnie jak w programie SQL Server przy użyciu następujących technik:
- W przypadku usługi Azure SQL w celu skonfigurowania opcji MAXDOP jest obsługiwana instrukcja ALTER DATABASE SCOPED CONFIGURATION.
- W przypadku usługi SQL Managed Instance na potrzeby „maksymalnego stopnia równoległości” jest obsługiwana procedura składowana sp_configure.
- Wskazówki zapytania opcji MAXDOP są w pełni obsługiwane.
- W przypadku usługi SQL Managed Instance jest obsługiwane konfigurowanie opcji MAXDOP przy użyciu zarządcy zasobów.
Zarządca zasobów
Zarządca zasobów jest funkcją w programie SQL Server, która może służyć do kontrolowania użycia zasobów na potrzeby obciążeń przy użyciu operacji we/wy, procesora CPU i pamięci. Należy pamiętać, że na potrzeby grup obciążeń zdefiniowanych przez użytkownika, zarządca zasobów jest obsługiwany dla usługi SQL Managed Instance, ale nie jest obsługiwany w przypadku usługi Azure SQL Database.
Konserwacja indeksu
Tworzenie i konserwacja indeksu dla usługi Azure SQL jest dokładnie taka sama jak w przypadku programu SQL Server. Na przykład tworzenie, odbudowywanie i reorganizacja indeksów są w pełni obsługiwane podobnie jak w przypadku programu SQL Server. Obejmuje to indeksy online i z możliwością wznowienia.
Konserwacja statystyk
Program SQL Server i usługa Azure SQL obsługują statystyki w ten sam sposób. Automatyczne opcje statystyk dla baz danych są dostępne w obu przypadkach.
Teraz, gdy znasz już niektóre opcje konfiguracji i konserwacji wydajności usługi Azure SQL, przed przejściem do następnej lekcji ukończ następujący test wiedzy.