Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Maszyny wirtualne platformy Azure do użycia w programie SQL Server

Pierwszym, łatwym krokiem do przeniesienia lokalnych obciążeń programu SQL Server do chmury jest użycie maszyn wirtualnych platformy Azure do uruchamiania obciążeń programu SQL Server w scenariuszu infrastruktury jako usługi (IaaS). Usuwa to ciężar zakupu i konserwacji sprzętu, pamięci masowej i infrastruktury sieciowej, jednocześnie zapewniając bardzo znajome wrażenia z systemu Windows i samego programu SQL Server.

Nadal będziesz musiał utrzymywać swój system operacyjny, SQL Server i bazy danych, tak jak w scenariuszu lokalnym. W zamian za to Twoje bazy danych i aplikacje będą działać tak samo, jak w przypadku instalacji lokalnej, co ułatwia rozpoczęcie korzystania z platformy Azure.

Jednym z ważnych wyborów, którego nadal będziesz musiał dokonać, jest typ i rozmiar maszyny wirtualnej platformy Azure, której chcesz użyć dla istniejącego obciążenia programu SQL Server. W przeciwieństwie do scenariusza lokalnego, będziesz mieć znacznie mniejszą kontrolę nad rzeczywistym wyborem procesora na podstawowej maszynie hosta. W przypadku maszyny wirtualnej platformy Azure wybierasz konkretną serię maszyn (na przykład serię Esv3) i rozmiar w określonym regionie platformy Azure, a następnie otrzymujesz dowolny procesor używany przez firmę Microsoft dla tej serii i rozmiaru w tym regionie platformy Azure.

Typy i serie maszyn wirtualnych Azure

Firma Microsoft ma obecnie osiem głównych typów maszyn wirtualnych przeznaczonych do różnych typów obciążeń. Obejmują one poziom podstawowy, ogólne, zoptymalizowane pod kątem obliczeń, zoptymalizowane pod kątem pamięci, zoptymalizowane pod kątem pamięci masowej, GPU, wysokowydajne obliczenia i bezpieczna enklawa poufna.

W przypadku obciążeń OLTP SQL Server o wysokiej wydajności zwykle najlepszym wyborem jest typ maszyn wirtualnych platformy Azure zoptymalizowany pod kątem pamięci. Według firmy Microsoft „Rozmiary maszyn wirtualnych zoptymalizowane pod kątem pamięci oferują wysoki stosunek pamięci do procesora, który jest doskonały w przypadku serwerów relacyjnych baz danych”. Daje to mniejszą liczbę rdzeni i większą ilość pamięci, co zwykle jest tym, czego potrzebujesz w przypadku programu SQL Server, aby zminimalizować koszty licencji i nadal zapewniać dobrą wydajność.

Możesz pójść jeszcze dalej na tej ścieżce dzięki rozmiarom maszyn wirtualnych obsługujących ograniczone vCPU, w których możesz ograniczyć liczbę maszyn wirtualnych vCPU (do połowy lub jednej czwartej oryginalnego rozmiaru maszyny wirtualnej), aby obniżyć koszty licencjonowania programu SQL Server przy zachowaniu tej samej pamięci , magazynu i przepustowości we/wy jako nieograniczona maszyna wirtualna. Te ograniczone maszyny wirtualne platformy Azure mają w nazwie sufiks wskazujący liczbę aktywnych procesorów wirtualnych na maszynie wirtualnej.

Na przykład:zwykły Standard_E64s_v3 miałby 64 rdzenie vCPU, podczas gdy ograniczony Standard_E64-16s_v3 miałby tylko 16 rdzeni vCPU o identycznych specyfikacjach. Sufiks -16 s wskazuje liczbę aktywnych rdzeni vCPU.

Seria ESV3

Ta seria wykorzystuje procesor Intel Xeon Platinum 8171M (Skylake-SP) 2,1 GHz, który jest specjalną jednostką SKU procesora na zamówienie, która nie znajduje się w publicznej bazie danych Intel ARK. Wygląda na to, że ma identyczne specyfikacje jak procesor 26C/52T 2,1 GHz Intel Xeon Platinum 8170M (Skylake-SP). Sufiks M w numerze modelu oznacza, że ​​obsługuje 1,5 TB pamięci RAM na gniazdo, a nie 768 GB pamięci RAM na gniazdo. Seria Esv3 jest oceniana na 160-190 jednostek obliczeniowych platformy Azure (ACU).

Uwaga:w niektórych regionach firma Microsoft używa starszego procesora Intel Xeon E5-2673 v4 (Broadwell) na zamówienie w serii Esv3. Mine Tokus firmy Microsoft ma dobry artykuł, w którym przeprowadziła serię zmniejszonych testów porównawczych TPC-E z maszyną wirtualną E64s_v3, która korzystała ze starszego procesora Broadwell.

Seria Esv3 zaczyna się od Standard_E2s_v3 z 2 procesorami wirtualnymi i 16 GB pamięci RAM, a kończy na Standard_E64is_v3 z 64 procesorami wirtualnymi i 432 GB pamięci RAM. Między tymi skrajnościami występują również duże różnice w pojemności i przepustowości pamięci masowej. BTW, „i” w nazewnictwie Standard_E64is_v3 oznacza, że ​​instancja jest odizolowana od sprzętu przeznaczonego dla jednego klienta. Większość standardowych rozmiarów serii Esv3 jest również dostępna jako ograniczone maszyny wirtualne, co zapewnia dużą elastyczność w zakresie ustalania rozmiaru.

Jeśli dokładnie porównasz rysunki 1 i 2, zobaczysz znacznie korzystniejszy zestaw wyborów dotyczących liczby procesorów wirtualnych, ilości pamięci RAM i maksymalnej przepustowości dysków niebuforowanych w porównaniu z ograniczonymi wyborami maszyn wirtualnych na rysunku 2.

Rysunek 1:Standardowe specyfikacje serii ESv3 (kliknij, aby powiększyć)

W szczególności podobają mi się rozmiary Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 i Standard_E64-16s_v3 dla programu SQL Server, ponieważ mają one wyjątkowo ładną kombinację stosunkowo małej liczby rdzeni, dużej pojemności pamięci i dużej przepustowości dysku w porównaniu z inne dostępne opcje w tej serii.

Są to wszystkie oferty z ograniczeniami, które wykorzystują tylko jedną czwartą dostępnych rdzeni vCPU z oferty regularnej. Wszystkie inne opcje na rysunku 2 wykorzystują połowę dostępnych rdzeni vCPU z regularnej oferty, z tymi samymi limitami przepustowości pamięci i dysków, co podwoiłoby koszt licencji przy niższej przepustowości pamięci RAM i dysku, niż można by uzyskać przy lepszym wyborze .

Rysunek 2:Specyfikacje ograniczonej serii Esv3 (kliknij, aby powiększyć)

Na przykład porównaj trzy możliwe wybory maszyn wirtualnych pokazane na rysunku 3. Wybierając mądrze spośród ograniczonych opcji przy określonej liczbie procesorów wirtualnych, możesz uzyskać od 2X do 4X większą przepustowość pamięci i dysków przy tym samym koszcie licencjonowania SQL Server.

Pamiętaj, że koszt obliczeń, który obejmuje licencjonowanie systemu operacyjnego, pozostaje taki sam, jak oryginalny rozmiar vCPU, z którego pochodzi ograniczony rozmiar.

Rysunek 3:Porównawcze specyfikacje vCPU serii 8 Esv3 (kliknij, aby powiększyć)

Seria ESV4

Innym wyborem, który jest odpowiedni dla obciążeń OLTP i DW, jest seria Esv4. Te maszyny wirtualne korzystają z nowszego procesora AMD EPYC 7452 (Rzym) 7 nm 2,35 GHz. Ten procesor ma 32C/64T, zegar bazowy 2,35 GHz, maksymalny zegar boost do 3,35 GHz, 128 MB pamięci podręcznej L3, 128 linii PCIe 4.0 i 2 TB pamięci RAM. Maszyny wirtualne platformy Azure z tej serii zaczynają się od Standard_E2as_v4 z 2 procesorami wirtualnymi i 16 GB pamięci RAM, a na szczycie są Standard_E96as_v4 z 96 procesorami wirtualnymi i 672 GB pamięci RAM. Seria Esv4 jest oceniana na 230-260 jednostek obliczeniowych platformy Azure (ACU).

Zgodnie z moimi szacunkowymi obliczeniami wyniku TPC-E, procesor AMD EPYC 7452 jest w rzeczywistości znacznie szybszy w przypadku jednowątkowej wydajności procesora niż procesor Intel Xeon Platinum 8171M. AMD EPYC 7452 ma szacunkowy wynik/rdzeń TPC-E na poziomie 67,64, podczas gdy Intel Xeon Platinum 8171M ma szacunkowy wynik/rdzeń TPC-E wynoszący 49,55. Uważam, że wynika to z wyższego IPC i wyższej podstawowej szybkości zegara procesora AMD.

Rysunek 4 przedstawia odpowiednie specyfikacje dla większości rozmiarów maszyn wirtualnych z serii Esv4. Z tego, co mogę powiedzieć, Microsoft nie oferuje jeszcze ograniczonych wersji maszyn wirtualnych z serii Esv4. Mamy nadzieję, że zrobią to w przyszłości.

Rysunek 4:Wybrane specyfikacje serii Esv4 (kliknij, aby powiększyć)

Wniosek

W przypadku używania maszyn wirtualnych platformy Azure do obsługi obciążeń programu SQL Server należy poświęcić trochę czasu na ocenę różnych serii i rozmiarów maszyn wirtualnych platformy Azure, które są dostępne w preferowanym regionie. Firma Microsoft używa różnych procesorów na zamówienie w różnych seriach maszyn wirtualnych, a czasem w ramach tej samej serii maszyn wirtualnych. Przeprowadzenie tego rodzaju analizy dostępnych wyborów dla serii maszyn wirtualnych i ich rozmiaru powinno być jednym z początkowych zadań. Jeśli to możliwe, spróbuj skorzystać z ograniczonych ofert oferowanych przez Microsoft, ponieważ oferują one doskonałą wartość dla SQL Server.

Po wybraniu serii i rozmiaru maszyny wirtualnej wykonałbym kilka szybkich testów wydajności procesora i pamięci masowej, takich jak CPU-Z, Geekbench 5 i CrystalDiskMark 7 jako wstępny test poprawności (zanim nawet zainstalujesz SQL Server). Umożliwi to porównanie maszyn wirtualnych platformy Azure ze sobą oraz ze starszym lokalnym sprzętem i magazynem. Tim Radney ma świetny artykuł na temat tego procesu (do przechowywania).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwróć liczbę wierszy, których dotyczą instrukcje UPDATE

  2. Jak używać aliasu w klauzuli where?

  3. Wprowadzenie do synonimów w SQL Server

  4. SQL Server In-Memory OLTP:podstawy

  5. SQL Server — znajdź n-te wystąpienie w ciągu znaków