Bereits am 5. Dezember 2017 gab Microsoft bekannt, dass sie AMD EPYC 7551-Prozessoren in ihren speicheroptimierten virtuellen Maschinen der Lv2-Serie verwenden. Seitdem hat Microsoft die Benennung dieser Serie in Lsv2 geändert. Diese VMs sind nicht in allen Regionen verfügbar, daher sollten Sie die Verfügbarkeit in der Azure-Region überprüfen, die Sie verwenden möchten. Die Preisangaben für die Region „USA, Osten“ finden Sie hier als Beispiel. Diese AMD EPYC-Prozessoren haben eine Reihe von Vorteilen für SQL Server-Workloads, wie ich in diesem Artikel erläutern werde.
Details zu AMD EPYC 7551
Dieser 14-nm-Prozessor der ersten Generation AMD EPYC 7551 verfügt über 32 Kerne und 64 Threads und funktioniert in Servern mit einem oder zwei Sockeln. Dieser Prozessor hat eine Basistaktfrequenz von 2,0 GHz mit einer All-Core-Boost-Geschwindigkeit von 2,55 GHz und einer maximalen Boost-Taktfrequenz von 3,0 GHz. Die Größe des L3-Cache beträgt 64 MB.
Wie alle Prozessoren der AMD EPYC 7000-Serie unterstützt diese spezielle SKU 128 PCIe 3.0-Lanes für I/O-Konnektivität. Es verfügt außerdem über acht Speicherkanäle, die DDR4-2666-Speicher unterstützen, die in einem Server mit zwei Sockeln eine maximale Speicherbandbreite von 341 GB/Sekunde haben. Mit diesem Prozessor können Sie 2 TB RAM pro Sockel mit 64 GB DIMMs haben. Mit zunehmender Verfügbarkeit von 128-GB-DDR4-DIMMs wird sich diese Gesamtkapazität verdoppeln.
Der AMD EPYC 7551 Prozessor hat eine etwas geringere Single-Threaded CPU-Leistung im Vergleich zu den älteren 2,3 GHz Intel Xeon E5-2673 v4 (Broadwell) und den 2,4 GHz Intel Xeon E5-2673 v3 (Haswell) Prozessoren, die Microsoft für viele ihrer Prozessoren verwendet Azure-VM-Reihe. Bei diesen beiden Intel-Prozessoren handelt es sich um spezielle maßgeschneiderte Modelle, die nicht in der Intel ARK-Datenbank enthalten sind. Ich habe in diesem Artikel über die Verwendung von CPU-Z zum Benchmarking des Intel Xeon E5-2673 v3-Prozessors in einer Azure-VM geschrieben.
Die ältere Intel Xeon E5-26xx v3 (Haswell) Serie, die im dritten Quartal 2014 eingeführt wurde, hatte eine maximale Speicherbandbreite von 2133 MHz. Die etwas neuere Intel Xeon E5-26xx v4 (Broadwell)-Serie, die im ersten Quartal 2016 eingeführt wurde, erhöhte diese auf 2400 MHz. Beide Prozessorfamilien haben nur vier Speicherkanäle mit einer maximalen Kapazität von 768 GB pro Sockel mit 32 GB DDR4 DIMMs. Sie haben auch nur 40 PCIe 3.0-Lanes pro Prozessor.
Die Erkenntnis aus all dem ist, dass dieser AMD EPYC 7551-Prozessor im Vergleich zu diesen beiden Intel-Prozessoren über eine ausreichend gute Single-Thread-CPU-Leistung verfügt, zusammen mit einer besseren Speicherleistung, Speicherdichte und Gesamt-E/A-Kapazität. Dies macht es zu einer guten Wahl für viele SQL Server-Workloads, insbesondere DW-Workloads.
Abbildung 1:CPU-Z-Benchmark-Ergebnisse für LS16v2
Wenn ich jetzt einen AMD-basierten Server für die Verwendung von SQL Server vor Ort kaufen würde, würde ich natürlich versuchen, den neueren, frequenzoptimierten AMD EPYC 7371-Prozessor zu bekommen. Der AMD EPYC 7371-Prozessor hat 32 Kerne und 64 Threads und funktioniert in Ein- oder Zwei-Sockel-Servern. Dieser Prozessor hat eine Basistaktfrequenz von 3,1 GHz mit einer All-Core-Boost-Geschwindigkeit von 3,6 GHz und einer maximalen Boost-Taktfrequenz von 3,8 GHz. Die Größe des L3-Cache beträgt 64 MB. ServeTheHome hat hier darüber geschrieben, was für ein „wahnsinniger Wert“ dieser Prozessor ist.
Azure Lsv2-Details
Diese Azure VM Lsv2-Instanzen verwenden Open Compute Platform (OCP) Microsoft Project Olympus-Server mit zwei Sockets zusammen mit den standardmäßigen AMD EPYC 7551-Prozessoren.
Abbildung 2:Microsoft Project Olympus
Die wichtigsten Spezifikationen für die virtuellen Maschinen der Lsv2-Serie sind in Tabelle 1 aufgeführt. Sie verfügen über lokalen NVMe-Speicher mit niedriger Latenz, der direkt die 128 PCIe 3.0-Lanes pro Socket nutzen kann, die auf der Hostmaschine mit dem AMD EPYC 7551-Prozessor verfügbar sind.
VM-Größe | vCPUs | Speicher (GiB) | Lokale SSD |
---|---|---|---|
L8s v2 | 8 | 64 | 1 x 1,9 TB NVMe-SSD |
L16s v2 | 16 | 128 | 2 x 1,9 TB NVMe-SSD |
L32s v2 | 32 | 256 | 4 x 1,9 TB NVMe-SSD |
L64s v2 | 64 | 512 | 8 x 1,9 TB NVMe-SSD |
L80s v2 | 80 | 640 | 10 x 1,9 TB NVMe-SSD |
Tabelle 1:Azure-VM-Spezifikationen der Lsv2-Serie
Verbesserungen von Azure VM Managed Disk
Azure Managed Disks sind im Wesentlichen logische Datenträger, die tatsächlich virtuelle Festplatten (VHD) sind, die Sie mit jeder Azure-VM verwenden können, unabhängig von der VM-Größe. Microsoft übernimmt die Speicherkontoverwaltung für Sie, wenn Sie Azure Managed Disks verwenden. Dadurch können Sie mehr Kapazität und Speicherleistung hinzufügen, ohne auf eine größere Azure-VM upgraden zu müssen.
Am 25. März 2019 kündigte Microsoft die Verfügbarkeit von verwalteten Datenträgern mit höherer Leistung und größerer Kapazität für Azure-VMs an. Mit diesen neuen Angeboten steigt die maximale Größe eines einzelnen verwalteten Datenträgers auf bis zu 32 TB. Zuvor waren Sie für einen einzelnen verwalteten Datenträger auf eine Größe von 4 TB beschränkt. Sie können zwischen verwalteten HDD-Standardfestplatten, SSD-Standardfestplatten und SSD-Premiumfestplatten wählen (wobei sich verwaltete Ultra-Festplatten mit 64 TB im Vorschaustatus befinden).
Bei verwalteten Premium-SSD-Datenträgern steigt die Leistung von 7.500 IOPS auf 20.000 IOPS und von 250 MB/s auf 900 MB/s für sequenzielle Leistung. Dieses Leistungsniveau ist im Vergleich zu vielen typischen lokalen Systemen ziemlich gut, obwohl es immer noch ziemlich einfach ist, mit einem sorgfältig entworfenen lokalen Speichersubsystem eine viel höhere Speicherleistung zu erzielen. Andererseits hat die CPU- und Speicherleistung von Azure-VMs einen langen Weg zurückgelegt, seit ich 2014 darüber geschrieben habe!
SQL Server-Auswirkung
Diese Entwicklungen sind eine große Sache für die SQL Server-Nutzung auf Azure-VMs. In der Vergangenheit war eine Schwäche von Azure-VMs aus SQL Server-Perspektive die relativ geringe Speicherleistung, die Sie erzielen konnten, insbesondere bei kleineren VM-Größen. SQL Server-Aufgaben, die eine gute sequenzielle E/A-Leistung erforderten, waren auf Azure-VMs oft eine Herausforderung. Ich habe auch eine Reihe von Kunden gesehen, die praktisch gezwungen waren, die verzögerte Haltbarkeitsfunktion für einige Datenbanken zu verwenden, um hohe LOGWRITE-Wartezeiten zu vermeiden.
Ein weiteres Problem bestand darin, dass viele Entscheidungen für die Azure-VM-Reihe nicht angemessen für die Verwendung mit SQL Server ausbalanciert waren, da sie Sie dazu zwangen, sehr viele Kerne zu haben, um eine große Arbeitsspeicherkapazität in Ihrer VM zu erhalten. Dies hat sowohl Ihre Lizenzkosten für SQL Server als auch Ihre Stundenkosten für Azure-VMs in die Höhe getrieben.
Schlussfolgerung
Durch die Verwendung eines modernen AMD EPYC-Prozessors in der speicheroptimierten Lsv2-Azure-VM-Serie erhalten Sie eine leistungsstarke, ausgewogene Plattform für die SQL Server-Nutzung. Was ich mit einer ausgewogenen Plattform meine, stammt aus dem Microsoft Data Warehouse Fast Track-Programm, bei dem ein System so entworfen und konfiguriert werden konnte, dass Daten vom Speichersubsystem zum Speichersubsystem flossen, um von den Prozessorkernen verbraucht zu werden, wo es keine unnötigen Engpässe gab im System.
In diesem Fall haben Sie eine gute Singlethread-CPU-Leistung, kombiniert mit einer hohen Speicherbandbreite und einer sehr hohen Speicherbandbreite. Wenn mehrere lokale NVMe-SSDs mit niedriger Latenz mit diesen PCIe-Lanes verbunden sind, erhalten Sie eine hervorragende Speicherleistung. Sie können auch zusätzliche Hochleistungsspeicherkapazität mit den neu verbesserten Azure Managed Disks mit Premium-SSD-Datenträgern hinzufügen, die Ihnen zusätzliche Flexibilität in Bezug auf Speicherkapazität und Leistung bieten.