Rozmiar maszyny wirtualnej: najlepsze rozwiązania dotyczące wydajności SQL Server na maszynach wirtualnych platformy Azure

Dotyczy:SQL Server na maszynie wirtualnej platformy Azure

Ten artykuł zawiera wskazówki dotyczące rozmiarów maszyn wirtualnych szereg najlepszych rozwiązań i wytycznych dotyczących optymalizacji wydajności programu SQL Server na maszynach wirtualnych platformy Azure.

Zazwyczaj istnieje kompromis między optymalizacją kosztów a optymalizacją pod kątem wydajności. Ta seria najlepszych rozwiązań dotyczących wydajności koncentruje się na uzyskaniu najlepszej wydajności dla programu SQL Server w usłudze Azure Virtual Machines. Jeśli obciążenie jest mniej wymagające, możesz nie wymagać każdej zalecanej optymalizacji. Podczas oceniania tych zaleceń należy wziąć pod uwagę wymagania dotyczące wydajności, kosztów i wzorców obciążeń.

Aby uzyskać szczegółowe informacje, zobacz inne artykuły z tej serii: Lista kontrolna, Magazyn, Zabezpieczenia, Konfiguracja usługi HADR, Zbieranie punktów odniesienia.

Lista kontrolna

Zapoznaj się z poniższą listą kontrolną, aby zapoznać się z krótkim omówieniem najlepszych rozwiązań dotyczących rozmiaru maszyn wirtualnych, które opisano w pozostałej części artykułu:

  • Nowa seria Ebdsv5 zapewnia najwyższy współczynnik przepływności operacji we/wy na platformie Azure oraz stosunek pamięci do rdzeni wirtualnych równy 8. Ta seria oferuje najlepszą cenę dla obciążeń programu SQL Server na maszynach wirtualnych platformy Azure. Rozważmy pierwszą serię dla większości obciążeń programu SQL Server.
  • Użyj rozmiarów maszyn wirtualnych z co najmniej 4 procesorami wirtualnymi, takimi jak E4ds_v5 lub nowsza.
  • Użyj rozmiarów maszyn wirtualnych zoptymalizowanych pod kątem pamięci, aby uzyskać najlepszą wydajność obciążeń programu SQL Server.
  • Seria Edsv5, M-i mv2 oferują optymalny stosunek pamięci do rdzeni wirtualnych wymagany dla obciążeń OLTP.
  • Maszyny wirtualne serii M oferują najwyższy stosunek pamięci do rdzeni wirtualnych na platformie Azure. Rozważ te maszyny wirtualne dla obciążeń magazynu danych o znaczeniu krytycznym i magazynu danych.
  • Użyj obrazów witryny Azure Marketplace, aby wdrożyć maszyny wirtualne programu SQL Server, ponieważ ustawienia i opcje magazynu programu SQL Server są skonfigurowane pod kątem optymalnej wydajności.
  • Zbierz charakterystykę wydajności obciążenia docelowego i użyj ich do określenia odpowiedniego rozmiaru maszyny wirtualnej dla twojej firmy.
  • Użyj narzędzi rekomendacji Narzędzia do migracji danych i jednostki SKU, aby znaleźć odpowiedni rozmiar maszyny wirtualnej dla istniejącego obciążenia programu SQL Server.
  • Migrowanie na platformę Azure przy użyciu narzędzia Azure Data Studio .

Aby porównać listę kontrolną rozmiaru maszyny wirtualnej z innymi, zobacz kompleksową listę kontrolną najlepszych rozwiązań dotyczących wydajności.

Omówienie

Podczas tworzenia programu SQL Server na maszynie wirtualnej platformy Azure należy dokładnie rozważyć wymagany typ obciążenia. Jeśli migrujesz istniejące środowisko, zbierz punkt odniesienia wydajności, aby określić wymagania dotyczące programu SQL Server na maszynie wirtualnej platformy Azure. Jeśli jest to nowa maszyna wirtualna, utwórz nową maszynę wirtualną z programem SQL Server na podstawie wymagań dostawcy.

Jeśli tworzysz nową maszynę wirtualną z programem SQL Server przy użyciu nowej aplikacji utworzonej dla chmury, możesz łatwo określić rozmiar maszyny wirtualnej z programem SQL Server w miarę rozwoju wymagań dotyczących danych i użycia. Rozpocznij środowiska programistyczne z niższej warstwy serii D, B-Series lub Av2 i zwiększ swoje środowisko wraz z upływem czasu.

Użyj obrazów witryny Marketplace maszyn wirtualnych programu SQL Server z konfiguracją magazynu w portalu. Ułatwia to prawidłowe tworzenie pul magazynów niezbędnych do uzyskania rozmiaru, liczby operacji we/wy na sekundę i przepływności niezbędnej dla obciążeń. Ważne jest, aby wybrać maszyny wirtualne programu SQL Server, które obsługują magazyn w warstwie Premium i buforowanie magazynu w warstwie Premium. Aby dowiedzieć się więcej, zobacz artykuł dotyczący magazynu.

Obecnie seria Ebdsv5 zapewnia najwyższy stosunek przepływności we/wy do rdzeni wirtualnych dostępny na platformie Azure. Jeśli nie znasz wymagań dotyczących operacji we/wy dla obciążenia programu SQL Server, ta seria jest najbardziej prawdopodobna dla Twoich potrzeb. Aby dowiedzieć się więcej, zobacz artykuł dotyczący magazynu.

Uwaga

Większe rozmiary serii Ebdsv5 (48 procesorów wirtualnych i większych) oferują obsługę dostępu do magazynu z włączoną obsługą nvme. Aby móc korzystać z tej wysokiej wydajności operacji we/wy, należy wdrożyć maszynę wirtualną przy użyciu narzędzia NVMe. Obsługa nvme obrazów z witryny Marketplace programu SQL Server będzie dostępna wkrótce, ale na razie musisz samodzielnie zainstalować program SQL Server, aby móc korzystać z programu NVMe.

Magazyn danych programu SQL Server i środowiska o znaczeniu krytycznym często muszą być skalowane poza 8 współczynnikiem pamięci do rdzeni wirtualnych. W przypadku środowisk średnich możesz wybrać stosunek 16 pamięci do rdzeni wirtualnych oraz współczynnik 32 rdzeni wirtualnych dla większych środowisk magazynu danych.

Środowiska magazynu danych programu SQL Server często korzystają z przetwarzania równoległego większych maszyn. Z tego powodu seria M i seria Mv2 są dobrymi opcjami dla większych środowisk magazynu danych.

Użyj konfiguracji procesorów wirtualnych i pamięci z maszyny źródłowej jako punktu odniesienia do migrowania bieżącej lokalnej bazy danych programu SQL Server do programu SQL Server na maszynach wirtualnych platformy Azure. Jeśli masz pakiet Software Assurance, skorzystaj z korzyści użycia hybrydowego platformy Azure, aby przenieść licencje na platformę Azure i zaoszczędzić na kosztach licencjonowania programu SQL Server.

Optymalizacja pod kątem pamięci

Rozmiary maszyn wirtualnych zoptymalizowane pod kątem pamięci są podstawowym celem maszyn wirtualnych programu SQL Server i zalecanym wyborem przez firmę Microsoft. Maszyny wirtualne zoptymalizowane pod kątem pamięci oferują silniejsze współczynniki pamięci do procesora CPU i opcje średniej do dużej pamięci podręcznej.

Seria Ebdsv5

Seria Ebdsv5 to nowa seria maszyn wirtualnych zoptymalizowana pod kątem pamięci, która oferuje najwyższą przepływność magazynu zdalnego dostępną na platformie Azure. Te maszyny wirtualne mają stosunek pamięci do rdzeni wirtualnych równy 8, co wraz z wysoką przepływnością we/wy sprawia, że są idealne dla obciążeń programu SQL Server. Maszyny wirtualne serii Ebdsv5 oferują najlepszą cenę dla obciążeń programu SQL Server działających na maszynach wirtualnych platformy Azure i zdecydowanie zalecamy korzystanie z nich w przypadku większości produkcyjnych obciążeń programu SQL Server.

Seria Edsv5

Seria Edsv5 jest przeznaczona dla aplikacji intensywnie korzystających z pamięci i jest idealna dla obciążeń programu SQL Server, które nie wymagają tak wysokiej przepływności we/wy, jak oferuje seria Ebdsv5. Te maszyny wirtualne mają dużą pojemność dysku SSD magazynu lokalnego, do 672 GiB pamięci RAM oraz bardzo dużą przepływność magazynu lokalnego i zdalnego. Istnieje prawie 8 giB pamięci na rdzeń wirtualny w większości tych maszyn wirtualnych, co jest idealne dla większości obciążeń programu SQL Server.

Największą maszyną wirtualną w tej grupie jest Standard_E104ids_v5 , która oferuje 104 rdzenie wirtualne i 672 GIB pamięci. Ta maszyna wirtualna jest godna uwagi, ponieważ jest odizolowana , co oznacza, że gwarantowana jest jedyna maszyna wirtualna uruchomiona na hoście i dlatego jest odizolowana od innych obciążeń klientów. Ma to stosunek pamięci do rdzeni wirtualnych, który jest niższy niż zalecany dla programu SQL Server, dlatego należy go używać tylko wtedy, gdy jest wymagana izolacja.

Maszyny wirtualne serii Edsv5 obsługują magazyn w warstwie Premium i buforowanie magazynu w warstwie Premium.

Seria ECadsv5

Rozmiary maszyn wirtualnych serii ECadsv5 to maszyny wirtualne poufne platformy Azure zoptymalizowane pod kątem pamięci z dyskiem tymczasowym. Przejrzyj poufne maszyny wirtualne, aby uzyskać informacje o korzyściach zabezpieczeń poufnych maszyn wirtualnych platformy Azure.

Ponieważ funkcje zabezpieczeń poufnych maszyn wirtualnych platformy Azure mogą wprowadzać obciążenia związane z wydajnością, przetestuj obciążenie i wybierz rozmiar maszyny wirtualnej spełniający wymagania dotyczące wydajności.

Seria M i Mv2

Seria M oferuje liczbę rdzeni wirtualnych i pamięć dla niektórych z największych obciążeń programu SQL Server.

Seria Mv2 ma najwyższe liczby rdzeni wirtualnych i pamięć i jest zalecana w przypadku obciążeń magazynu danych o znaczeniu krytycznym. Wystąpienia serii Mv2 to rozmiary maszyn wirtualnych zoptymalizowane pod kątem pamięci zapewniające niezrównaną wydajność obliczeniową do obsługi dużych baz danych i obciążeń w pamięci z wysokim współczynnikiem pamięci do procesora CPU, który doskonale nadaje się do serwerów relacyjnych baz danych, dużych pamięci podręcznych i analizy w pamięci.

Niektóre funkcje serii M i Mv2 atrakcyjne dla wydajności programu SQL Server obejmują magazyn w warstwie Premium i obsługę pamięci podręcznej w warstwie Premium, obsługę dysków w warstwie Ultra oraz przyspieszanie zapisu.

Ogólnego przeznaczenia

Rozmiary maszyn wirtualnych ogólnego przeznaczenia są przeznaczone do zapewnienia zrównoważonych współczynników pamięci do rdzeni wirtualnych dla mniejszych obciążeń na poziomie wejścia, takich jak programowanie i testowanie, serwery internetowe i mniejsze serwery baz danych.

Ze względu na mniejsze współczynniki pamięci do rdzeni wirtualnych z maszynami wirtualnymi ogólnego przeznaczenia należy uważnie monitorować liczniki wydajności oparte na pamięci, aby upewnić się, że program SQL Server jest w stanie uzyskać potrzebną pamięć podręczną buforu. Aby uzyskać więcej informacji, zobacz punkt odniesienia wydajności pamięci.

Ponieważ zaleceniem początkowym dla obciążeń produkcyjnych jest stosunek pamięci do rdzeni wirtualnych wynoszący 8, minimalna zalecana konfiguracja dla maszyny wirtualnej ogólnego przeznaczenia z uruchomionym programem SQL Server to 4 procesory wirtualne i 32 GiB pamięci.

Seria Ddsv5

Seria Ddsv5 oferuje sprawiedliwą kombinację procesorów wirtualnych, pamięci i dysku tymczasowego, ale z mniejszą obsługą pamięci do rdzeni wirtualnych.

Maszyny wirtualne Ddsv5 obejmują mniejsze opóźnienia i szybszy magazyn lokalny.

Te maszyny są idealne dla równoległych wdrożeń SQL i aplikacji, które wymagają szybkiego dostępu do magazynu tymczasowego i relacyjnych baz danych relacyjnych działów. W tej serii istnieje standardowy stosunek pamięci do rdzeni wirtualnych równy 4 na wszystkich maszynach wirtualnych.

Z tego powodu zaleca się użycie D8ds_v5 jako początkowej maszyny wirtualnej z tej serii, która ma 8 rdzeni wirtualnych i 32 GIB pamięci. Największą maszyną jest D96ds_v5, która ma 96 rdzeni wirtualnych i 256 GIB pamięci.

Maszyny wirtualne serii Ddsv5 obsługują magazyn w warstwie Premium i buforowanie magazynu w warstwie Premium.

Uwaga

Seria Ddsv5 nie ma współczynnika pamięci do rdzeni wirtualnych 8, który jest zalecany w przypadku obciążeń programu SQL Server. W związku z tym rozważ użycie tych maszyn wirtualnych tylko dla małych aplikacji i obciążeń programistycznych.

Seria DCadsv5

Rozmiary maszyn wirtualnych serii DCadsv5 to maszyny wirtualne poufne platformy Azure ogólnego przeznaczenia z dyskiem tymczasowym. Przejrzyj poufne maszyny wirtualne, aby uzyskać informacje o korzyściach zabezpieczeń poufnych maszyn wirtualnych platformy Azure.

Ponieważ funkcje zabezpieczeń poufnych maszyn wirtualnych platformy Azure mogą wprowadzać obciążenia związane z wydajnością, przetestuj obciążenie i wybierz rozmiar maszyny wirtualnej spełniający wymagania dotyczące wydajności.

Seria B

Rozmiary maszyn wirtualnych serii B z serii B są idealne dla obciążeń, które nie wymagają spójnej wydajności, takiej jak weryfikacja koncepcji i bardzo małe serwery aplikacji i serwerów deweloperskich.

Większość rozmiarów maszyn wirtualnych serii B z możliwością serii B ma stosunek pamięci do rdzeni wirtualnych równy 4. Największą z tych maszyn jest Standard_B20ms z 20 rdzeniami wirtualnymi i 80 GiB pamięci.

Ta seria jest unikatowa, ponieważ aplikacje mają możliwość skalowania w godzinach pracy, a środki z możliwością skalowania różnią się w zależności od rozmiaru maszyny.

Po wyczerpaniu środków maszyna wirtualna powraca do wydajności maszyny bazowej.

Zaletą serii B jest oszczędność mocy obliczeniowej, którą można osiągnąć w porównaniu z innymi rozmiarami maszyn wirtualnych w innych seriach, zwłaszcza jeśli potrzebujesz mocy obliczeniowej oszczędnie przez cały dzień.

Ta seria obsługuje magazyn w warstwie Premium, ale nie obsługujebuforowania magazynu w warstwie Premium.

Uwaga

Seria B z możliwością serii B nie ma współczynnika pamięci do rdzeni wirtualnych 8, który jest zalecany dla obciążeń programu SQL Server. W związku z tym rozważ użycie tych maszyn wirtualnych tylko dla mniejszych aplikacji, serwerów internetowych i obciążeń programistycznych.

Seria Av2

Maszyny wirtualne z serii Av2 najlepiej nadają się do obciążeń na poziomie podstawowym, takich jak programowanie i testowanie, serwery internetowe o niskim natężeniu ruchu, małe i średnie bazy danych aplikacji oraz weryfikacje koncepcji.

Tylko Standard_A2m_v2 (2 rdzenie wirtualne i 16 Gb pamięci), Standard_A4m_v2 (4 rdzenie wirtualne i 32GiB pamięci), a Standard_A8m_v2 (8 rdzeni wirtualnych i 64 Gb pamięci) mają dobry stosunek pamięci do 8 rdzeni wirtualnych dla tych trzech pierwszych maszyn wirtualnych.

Te maszyny wirtualne są dobrymi opcjami dla mniejszych maszyn programistycznych i testowych programu SQL Server.

8 rdzeni wirtualnych Standard_A8m_v2 może być również dobrą opcją dla małych aplikacji i serwerów internetowych.

Uwaga

Seria Av2 nie obsługuje magazynu w warstwie Premium i w związku z tym nie jest zalecana w przypadku obciążeń produkcyjnych programu SQL Server nawet w przypadku maszyn wirtualnych, które mają stosunek pamięci do rdzeni wirtualnych równy 8.

Optymalizacja pod kątem magazynu

Rozmiary maszyn wirtualnych zoptymalizowane pod kątem magazynu są przeznaczone dla konkretnych przypadków użycia. Te maszyny wirtualne są specjalnie zaprojektowane z zoptymalizowaną przepływnością dysku i operacjami we/wy.

Seria Lsv2

Seria Lsv2 oferuje wysoką przepływność, małe opóźnienia i lokalny magazyn NVMe. Maszyny wirtualne serii Lsv2 są zoptymalizowane pod kątem używania dysku lokalnego na węźle dołączonym bezpośrednio do maszyny wirtualnej zamiast używania trwałych dysków danych.

Te maszyny wirtualne są silnymi opcjami dla danych big data, magazynu danych, raportowania i obciążeń ETL. Wysoka przepływność i liczba operacji we/wy na sekundę lokalnego magazynu NVMe to dobry przypadek użycia przetwarzania plików, które zostaną załadowane do bazy danych i innych scenariuszy, w których dane można odtworzyć z systemu źródłowego lub innych repozytoriów, takich jak Azure Blob Storage lub Azure Data Lake. Maszyny wirtualne serii Lsv2 mogą również zwiększać wydajność dysku przez maksymalnie 30 minut naraz.

Rozmiar tych maszyn wirtualnych z 8 do 80 procesorów wirtualnych z 8 GiB pamięci na procesor wirtualny i dla każdego 8 procesorów wirtualnych jest 1,92 TB dysków SSD NVMe. Oznacza to, że dla największej maszyny wirtualnej tej serii, L80s_v2, istnieje 80 procesorów wirtualnych i 640 BiB pamięci z 10x1.92 TB magazynu NVMe. Istnieje spójny stosunek pamięci do rdzeni wirtualnych równy 8 na wszystkich tych maszynach wirtualnych.

Magazyn NVMe jest efemeryczny, co oznacza, że dane zostaną utracone na tych dyskach, jeśli cofniesz przydział maszyny wirtualnej lub jeśli zostanie przeniesiony do innego hosta w celu naprawy usługi.

Seria Lsv2 i Ls obsługuje magazyn w warstwie Premium, ale nie buforowanie magazynu w warstwie Premium. Tworzenie lokalnej pamięci podręcznej w celu zwiększenia liczby operacji we/wy nie jest obsługiwane.

Ostrzeżenie

Przechowywanie plików danych w efemerycznym magazynie NVMe może spowodować utratę danych po cofnięciu przydziału maszyny wirtualnej.

Ograniczone rdzenie wirtualne

Obciążenia programu SQL Server o wysokiej wydajności często wymagają większych ilości pamięci, liczby operacji we/wy na sekundę i przepływności bez większej liczby rdzeni wirtualnych.

Większość obciążeń OLTP to bazy danych aplikacji oparte na dużej liczbie mniejszych transakcji. W przypadku obciążeń OLTP tylko niewielka ilość danych jest odczytywana lub modyfikowana, ale woluminy transakcji sterowanych przez liczbę użytkowników są znacznie wyższe. Ważne jest, aby pamięć programu SQL Server była dostępna dla planów pamięci podręcznej, przechowywać ostatnio dostępne dane pod kątem wydajności i zapewnić szybkie odczyty fizyczne.

Te środowiska OLTP wymagają większych ilości pamięci, szybkiego magazynu i przepustowości we/wy niezbędnej do optymalnego działania.

Aby zachować ten poziom wydajności bez wyższych kosztów licencjonowania programu SQL Server, platforma Azure oferuje rozmiary maszyn wirtualnych z ograniczonymi liczbami procesorów wirtualnych.

Pomaga to kontrolować koszty licencjonowania, zmniejszając dostępne rdzenie wirtualne przy zachowaniu tej samej pamięci, magazynu i przepustowości we/wy nadrzędnej maszyny wirtualnej.

Liczba procesorów wirtualnych może być ograniczona do jednej połowy do jednej czwartej oryginalnego rozmiaru maszyny wirtualnej. Zmniejszenie liczby rdzeni wirtualnych dostępnych dla maszyny wirtualnej powoduje osiągnięcie wyższych współczynników pamięci do rdzeni wirtualnych, ale koszt obliczeń pozostanie taki sam.

Te nowe rozmiary maszyn wirtualnych mają sufiks określający liczbę aktywnych procesorów wirtualnych, aby ułatwić ich identyfikację.

Na przykład M64-32ms wymaga licencjonowania tylko 32 rdzeni wirtualnych programu SQL Server z pamięcią, we/wy i przepływnością M64ms i M64-16ms wymaga licencjonowania tylko 16 rdzeni wirtualnych. Chociaż maszyny M64-16ms mają jedną czwartą kosztów licencjonowania programu SQL Server dla maszyn wirtualnych, koszt obliczeniowy maszyn wirtualnych jest taki sam.

Uwaga

  • Średnie i duże obciążenia magazynu danych mogą nadal korzystać z ograniczonych maszyn wirtualnych z rdzeniami wirtualnymi, ale obciążenia magazynu danych są często scharakteryzowane przez mniej użytkowników i procesów odnoszących się do większych ilości danych za pośrednictwem planów zapytań uruchamianych równolegle.
  • Koszt obliczeniowy, który obejmuje licencjonowanie systemu operacyjnego, pozostanie taki sam jak nadrzędna maszyna wirtualna.

Następne kroki

Aby dowiedzieć się więcej, zobacz inne artykuły z tej serii najlepszych rozwiązań: