Zwiększanie i dostrajanie wydajności

Ukończone

Zrozumienie opcji przyspieszania i dostosowywania wydajności usługi Azure SQL ma kluczowe znaczenie dla zapewnienia spójnej wydajności. Dotyczy to również sposobu skalowania wydajności procesora, zwiększania wydajności operacji We/Wy, konfigurowania pamięci i procesów roboczych, poprawiania opóźnień aplikacji i stosowania standardowych najlepszych rozwiązań w zakresie dostrajania programu SQL Server.

Skalowanie wydajności procesora

W celu zaspokojenia potrzeb związanych z zasobami może być konieczne skalowanie liczby procesorów. W przypadku środowiska lokalnego wymaga to ponownego skonfigurowania maszyny wirtualnej, zmiany sprzętu, a nawet migracji bazy danych. W usłudze Azure SQL możesz to zrobić, nie wykonując migracji. Aby skalować liczbę rdzeni wirtualnych w górę lub w dół dla wdrożenia, możesz użyć portalu, języka T-SQL, interfejsu wiersza polecenia platformy Azure lub interfejsów API REST.

Zwykle jest wymagany przestój, ale może on być bardzo krótki w przypadku usługi Azure SQL Database bez migracji. Wdrożenia z hiperskalowaniem umożliwiają skalowanie w górę w stałym czasie bez względu na rozmiar danych, a wdrożenia bezserwerowe umożliwiają skalowanie automatyczne na podstawie zapotrzebowania na procesor CPU.

Uwaga

Skalowanie usługi Azure SQL Managed Instance może zająć dużo czasu, ale nie wymaga migracji.

Wydajność operacji wejścia/wyjścia

Wydajność operacji wejścia/wyjścia może być kluczowa dla aplikacji bazy danych. Usługa Azure SQL pozwala abstrahować od fizycznego rozmieszczenia plików, ale istnieją metody zapewniania potrzebnej wydajności operacji We/Wy.

Liczba operacji We/Wy na sekundę może być istotna dla aplikacji. Upewnij się, że wybrano odpowiednią warstwę usługi i rdzenie wirtualne na potrzeby operacji we/wy na sekundę. Dowiedz się, jak mierzyć liczbę operacji wejścia/wyjścia na sekundę dla zapytań lokalnych, jeśli migrujesz na platformę Azure. Jeśli masz ograniczenia dotyczące liczby operacji We/Wy na sekundę, mogą wystąpić przypadki długiego oczekiwania na takie operacje. W modelu zakupów rdzeni wirtualnych można skalować w górę rdzenie wirtualne lub przejść do Krytyczne dla działania firmy lub hiperskala, jeśli nie masz wystarczającej liczby operacji we/wy na sekundę. W przypadku obciążeń produkcyjnych w przypadku korzystania z jednostek DTU zalecamy przejście do warstwy Premium.

Opóźnienie operacji wejścia/wyjścia to kolejny kluczowy składnik wydajności tych operacji. W celu uzyskania mniejszych opóźnień operacji wejścia/wyjścia dla usługi Azure SQL Database rozważ użycie warstwy Krytyczne dla działania firmy lub Hiperskala. Aby uzyskać mniejsze opóźnienia operacji We/Wy dla usługi SQL Managed Instance, przejdź do warstwy Krytyczne dla działania firmy albo zwiększ rozmiar plików lub liczbę plików dla bazy danych. Zwiększenie opóźnienia dziennika transakcji może wymagać użycia transakcji wielostanowych.

Zwiększenie ilości pamięci lub liczby procesów roboczych

Używanie wystarczającej ilości pamięci lub liczby procesów roboczych może być ważne dla aplikacji i wdrożenia. W przypadku usługi Azure SQL Database należy przeskalować w górę rdzenie wirtualne, aby uzyskać większe limity pamięci lub procesów roboczych. W przypadku usługi SQL Managed Instance należy przeskalować w górę rdzenie wirtualne, aby uzyskać większe limity pamięci. Obecnie usługa SQL Managed Instance obsługuje też zwiększanie liczby procesów roboczych przy użyciu ustawienia „maksymalna liczba wątków roboczych”.

Zmniejszanie opóźnień aplikacji

Nawet jeśli skonfigurujesz wdrożenie pod kątem wszystkich wymagań dotyczących zasobów, aplikacje mogą powodować problemy z wydajnością związane z opóźnieniami. Upewnij się, że stosujesz te najlepsze rozwiązania w aplikacjach usługi Azure SQL:

  • Użyj typu połączenia z przekierowaniem zamiast serwera proxy.
  • Zoptymalizuj intensywnie komunikujące się aplikacje, używając procedur składowanych lub ograniczając liczbę rund zapytań za pomocą technik takich jak partie.
  • Zoptymalizuj transakcje, grupując je, co jest przeciwieństwem transakcji pojedynczych.

Dostrajanie takie jak w programie SQL Server

Usługa Azure SQL jest nadal programem SQL Server. Niezastąpioną metodą jest dostrojenie zapytań programu SQL Server i sprawdzenie następujących kwestii:

  • Właściwy projekt indeksów
  • Używanie partii
  • Używanie procedur składowanych
  • Parametryzowanie zapytań w celu uniknięcia zbyt wielu buforowanych zapytań ad hoc
  • Szybkie i poprawne przetwarzanie wyników w aplikacji

W następnym ćwiczeniu wykonasz problem z wydajnością z pierwszego ćwiczenia i ulepszysz go, skalując procesory CPU dla usługi Azure SQL.