Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Azure Virtual Machines für die SQL Server-Nutzung

Ein erster, einfacher Schritt zum Verschieben Ihrer lokalen SQL Server-Workloads in die Cloud ist die Verwendung von Azure-VMs zum Ausführen Ihrer SQL Server-Workloads in einem IaaS-Szenario (Infrastructure as a Service). Dadurch entfällt der Aufwand für den Kauf und die Wartung Ihrer Hardware-, Speicher- und Netzwerkinfrastruktur, während Sie dennoch eine sehr vertraute Erfahrung mit Windows und SQL Server selbst haben.

Sie müssen Ihr Betriebssystem, Ihren SQL-Server und Ihre Datenbanken weiterhin wie in einem lokalen Szenario warten. Im Gegenzug funktionieren Ihre Datenbanken und Anwendungen genauso wie bei einer lokalen Installation, was den Einstieg in die Nutzung von Azure erleichtert.

Eine wichtige Entscheidung, die Sie noch treffen müssen, ist der Typ und die Größe des virtuellen Azure-Computers, den Sie für Ihre vorhandene SQL Server-Workload verwenden möchten. Im Gegensatz zu einem lokalen Szenario haben Sie viel weniger Kontrolle über die tatsächliche Prozessorauswahl auf dem zugrunde liegenden Hostcomputer. Bei einer Azure-VM wählen Sie eine bestimmte Maschinenserie (z. B. eine Esv3-Serie) und eine bestimmte Größe in einer bestimmten Azure-Region aus und erhalten dann den Prozessor, den Microsoft für diese Serie und Größe in dieser Azure-Region verwendet.

Azure-VM-Typen und -Serien

Microsoft verfügt derzeit über acht Haupttypen von virtuellen Maschinen, die für verschiedene Arten von Arbeitslasten entwickelt wurden. Dazu gehören Entry Level, Allzweck, Compute-optimiert, Memory-optimiert, Storage-optimiert, GPU, High Performance Computing und Confidential Secure Enclave.

Für leistungsstarke OLTP-SQL Server-Workloads ist der arbeitsspeicheroptimierte Typ von Azure-VMs normalerweise die beste Wahl. Laut Microsoft „bieten speicheroptimierte VM-Größen ein hohes Verhältnis von Arbeitsspeicher zu CPU, das sich hervorragend für relationale Datenbankserver eignet.“ Dadurch erhalten Sie weniger Kerne und mehr Arbeitsspeicher, was Sie normalerweise für SQL Server wünschen, um Ihre Lizenzkosten zu minimieren und dennoch eine gute Leistung zu erzielen.

Sie können diesen Weg mit Constrained vCPU-fähigen VM-Größen sogar noch weiter gehen, indem Sie die VM-vCPU-Anzahl (auf die Hälfte oder ein Viertel der ursprünglichen VM-Größe) beschränken können, um die Kosten für die SQL Server-Lizenzierung zu senken und gleichzeitig den gleichen Arbeitsspeicher beizubehalten , Speicher und E/A-Bandbreite als nicht eingeschränkte VM. Diese eingeschränkten Azure-VMs haben ein Suffix im Namen, das die Anzahl aktiver vCPUs in der VM angibt.

Beispiel:Ein regulärer Standard_E64s_v3 hätte 64 vCPU-Kerne, während ein eingeschränkter Standard_E64-16s_v3 nur 16 vCPU-Kerne mit ansonsten identischen Spezifikationen hätte. Das Suffix -16s gibt die Anzahl der aktiven vCPU-Kerne an.

Esv3-Serie

Diese Serie verwendet den 2,1-GHz-Prozessor Intel Xeon Platinum 8171M (Skylake-SP), bei dem es sich um eine spezielle maßgeschneiderte Prozessor-SKU handelt, die nicht in der öffentlichen Intel ARK-Datenbank enthalten ist. Er scheint identische Spezifikationen wie der 26C/52T 2,1 GHz Intel Xeon Platinum 8170M (Skylake-SP) Prozessor zu haben. Das Suffix M in der Modellnummer bedeutet, dass es 1,5 TB RAM pro Sockel statt 768 GB RAM pro Sockel unterstützt. Die Esv3-Serie ist mit 160–190 Azure Compute Units (ACU) bewertet.

Hinweis:In einigen Regionen verwendet Microsoft den älteren maßgeschneiderten Prozessor Intel Xeon E5-2673 v4 (Broadwell) in der Esv3-Reihe. Mine Tokus von Microsoft hat einen guten Artikel, in dem sie eine Reihe verkleinerter TPC-E-Benchmarks gegen eine E64s_v3-VM durchführte, die den älteren Broadwell-Prozessor verwendete.

Die Esv3-Serie beginnt mit einem Standard_E2s_v3 mit 2 vCPU und 16 GB RAM und endet mit einem Standard_E64is_v3 mit 64 vCPU und 432 GB RAM. Zwischen diesen Extremen gibt es auch große Unterschiede in der Speicherkapazität und im Durchsatz. Übrigens bedeutet das „i“ in der Benennung von Standard_E64is_v3, dass die Instanz auf Hardware isoliert ist, die einem einzelnen Kunden gewidmet ist. Die meisten der regulären Größen der Esv3-Serie sind auch als eingeschränkte VMs verfügbar, was Ihnen viel Flexibilität bei der Größenanpassung gibt.

Wenn Sie die Abbildungen 1 und 2 genau vergleichen, sehen Sie mit den eingeschränkten VM-Auswahlmöglichkeiten in Abbildung 2 eine viel günstigere Auswahl an vCPU-Anzahlen, RAM-Beträgen und maximalem ungecachten Festplattendurchsatz.

Abbildung 1:Spezifikationen der regulären Esv3-Serie (zum Vergrößern klicken)

Besonders gefallen mir die Größen Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 und Standard_E64-16s_v3 für SQL Server, da sie im Vergleich zum andere verfügbare Optionen in dieser Serie.

Dies sind alles eingeschränkte Angebote, die nur ein Viertel der verfügbaren vCPU-Kerne des regulären Angebots verwenden. Die anderen Optionen in Abbildung 2 verwenden alle die Hälfte der verfügbaren vCPU-Kerne des regulären Angebots mit denselben Arbeitsspeicher- und Festplattendurchsatzlimits, was Ihre Lizenzkosten mit geringerem RAM- und Festplattendurchsatz verdoppeln würde, als Sie es sonst mit einer besseren Wahl erhalten könnten .

Abbildung 2:Beschränkte Spezifikationen der Esv3-Serie (zum Vergrößern klicken)

Vergleichen Sie beispielsweise die drei in Abbildung 3 gezeigten möglichen VM-Optionen. Durch eine kluge Auswahl unter den eingeschränkten Optionen bei einer bestimmten vCPU-Anzahl können Sie zwischen dem 2-fachen und 4-fachen Speicher- und Festplattendurchsatz für die gleichen SQL Server-Lizenzkosten erzielen.

Beachten Sie, dass die Rechenkosten, die die Betriebssystemlizenzierung beinhalten, die gleichen bleiben wie die ursprüngliche vCPU-Größe, von der die eingeschränkte Größe abgeleitet wurde.

Abbildung 3:Vergleichende vCPU-Spezifikationen der Esv3-Serie 8 (zum Vergrößern klicken)

Esv4-Serie

Eine weitere Wahl, die sowohl für OLTP- als auch für DW-Workloads gut geeignet ist, ist die Esv4-Serie. Diese VMs verwenden den neueren 7-nm-Prozessor AMD EPYC 7452 (Rome) mit 2,35 GHz. Dieser Prozessor verfügt über 32C/64T, einen Basistakt von 2,35 GHz, einen maximalen Boost-Takt von bis zu 3,35 GHz, 128 MB L3-Cache, 128 PCIe 4.0-Lanes und 2 TB RAM-Kapazität. Die Azure-VMs in dieser Reihe beginnen mit Standard_E2as_v4 mit 2 vCPU und 16 GB RAM und werden mit Standard_E96as_v4 mit 96 vCPU und 672 GB RAM gekrönt. Die Esv4-Serie ist mit 230–260 Azure Compute Units (ACU) bewertet.

Der AMD EPYC 7452-Prozessor ist laut meiner geschätzten TPC-E-Score-Berechnungen tatsächlich deutlich schneller für die Single-Thread-CPU-Leistung als der Intel Xeon Platinum 8171M-Prozessor. Der AMD EPYC 7452 hat einen geschätzten TPC-E-Score/Kern von 67,64, während der Intel Xeon Platinum 8171M einen geschätzten TPC-E-Score/Kern von 49,55 hat. Ich glaube, das liegt am höheren IPC und der höheren Basistaktrate des AMD-Prozessors.

Abbildung 4 zeigt die relevanten Spezifikationen für die meisten VM-Größen der Esv4-Serie. Soweit ich das beurteilen kann, bietet Microsoft noch keine eingeschränkten Versionen der VMs der Esv4-Serie an. Hoffentlich werden sie das in Zukunft tun.

Abbildung 4:Ausgewählte Spezifikationen der Esv4-Serie (zum Vergrößern klicken)

Schlussfolgerung

Wenn Sie virtuelle Azure-Computer für SQL Server-Workloads verwenden, sollten Sie einige Zeit damit verbringen, die verschiedenen Azure-VM-Serien und -Größen zu evaluieren, die in Ihrer bevorzugten Region verfügbar sind. Microsoft verwendet verschiedene maßgeschneiderte Prozessoren in verschiedenen VM-Serien und manchmal innerhalb derselben VM-Serie. Diese Art der Analyse Ihrer verfügbaren Auswahlmöglichkeiten für VM-Serien und -Größen sollte eine Ihrer ersten Aufgaben sein. Versuchen Sie nach Möglichkeit, die eingeschränkten Angebote von Microsoft zu nutzen, da sie ein hervorragendes Preis-Leistungs-Verhältnis für SQL Server bieten.

Nachdem Sie eine VM-Serie und -Größe ausgewählt haben, würde ich einige schnelle CPU- und Speicher-Benchmarks wie CPU-Z, Geekbench 5 und CrystalDiskMark 7 als anfängliche Plausibilitätsprüfung durchführen (bevor Sie überhaupt SQL Server installieren). Auf diese Weise können Sie Ihre Azure-VMs miteinander und mit Ihrer alten lokalen Hardware und Ihrem Speicher vergleichen. Tim Radney hat einen großartigen Artikel über diesen Prozess (zur Speicherung).