Microsoft bietet eine große Anzahl verschiedener Azure-VM-Serien und -Größen an, wenn Sie daran interessiert sind, ihre Infrastructure as a Service (IaaS)-Option zum Hosten von SQL Server-Instanzen zu nutzen. Eine erste Entscheidung, die Sie treffen müssen, ist, welche Serie und Größe der Azure-VM Sie für Ihre spezielle SQL Server-Workload verwenden möchten.
Für die Verwendung von SQL Server vor Ort sollten Sie Ihre Workload und die verfügbaren Servermodelle und Prozessormodelle sorgfältig analysieren, um einen Server mit einer geeigneten Prozessorauswahl zu erhalten, um Ihre SQL Server-Lizenzkosten zu minimieren und die beste Leistung zu erzielen Kapazität zu gegebenen Lizenzkosten für SQL Server möglich. Der Kosten- und Leistungsunterschied zwischen einer guten Prozessorwahl und einer schlechten Prozessorwahl kann ziemlich dramatisch sein.
Bei einer Azure-VM müssen Sie eine ähnliche Analyse durchführen, jedoch aus etwas anderen Gründen. Die Lizenzkosten für SQL Server auf einer Azure-VM stehen in direktem Zusammenhang mit der Anzahl der Kerne in der VM. Sie möchten eine VM-Größe auswählen, die Ihren erwarteten Anforderungen an CPU-Leistung und -Kapazität, Arbeitsspeicherkapazität und Speicherleistung entspricht.
Im Gegensatz zu einem On-Premise-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 GS-Serie) und eine bestimmte Größe in einem bestimmten Azure-Rechenzentrum aus, und dann erhalten Sie den Prozessor, den Microsoft für diese Serie und Größe in diesem Azure-Rechenzentrum verwendet. Microsoft hat derzeit 42 verschiedene Regionen mit Azure-Rechenzentren, sodass Sie die auf dieser Seite gezeigte Matrix verwenden können, um herauszufinden, welche VM-Serien in jeder Region angeboten werden.
Azure Compute Unit (ACU)
Ein sehr wichtiges Konzept, das Sie beim Vergleichen und Auswählen einer Azure-VM-SKU verstehen sollten, ist die Azure Compute Unit (ACU), mit der Sie die Computeleistung (pro vCPU-Kernleistung) über verschiedene Azure-VM-SKUs hinweg vergleichen können. Diese ACU-Messung ist derzeit auf einer kleinen (Standard_A1) VM mit einer Punktzahl von 100 standardisiert, und alle anderen Azure-SKUs haben dann ACU-Punktzahlen, die ungefähr darstellen, wie viel schneller diese bestimmte Azure-SKU einen Standard-CPU-Benchmark ausführen kann. So hat beispielsweise ein Standard_A1 einen ACU/vCPU-Score von 100, während ein Standard_GS5 einen ACU/vCPU-Score von 240 hat.
Wenn Sie sich den ACU-Score für eine Azure-VM-SKU ansehen, erhalten Sie eine gute Vorstellung von der Singlethread-CPU-Leistung des Prozessors, der auf dem zugrunde liegenden Hostcomputer verwendet wird. Es ist auch wichtig zu verstehen, ob dieser bestimmte Prozessor Intel Turbo Boost und/oder Intel Hyper-Threading unterstützt, da nicht alle Prozessoren, die in den verschiedenen Azure-VM-SKUs verwendet werden, diese Technologien unterstützen.
Sie können dies tun, indem Sie die tatsächliche Host-CPU in Ihrer VM auf der CPU-Seite der Registerkarte Leistung des Windows Task-Managers identifizieren oder ein Dienstprogramm wie CPU-Z verwenden. Sobald Sie das genaue Prozessormodell im Host identifiziert haben, können Sie die Online-Intel ARK-Datenbank verwenden, um die spezifischen Details zu diesem Prozessor abzurufen.
Neue Azure-VM-Größen für SQL Server
Ein häufiges Problem bei der Dimensionierung von Azure-VMs für SQL Server war die Tatsache, dass Sie oft gezwungen waren, eine VM-Größe auszuwählen, die weit mehr virtuelle CPU-Kerne hatte, als Sie benötigten oder wollten, um genügend Arbeitsspeicher und Speicherleistung zur Unterstützung Ihrer Workload zu haben. wodurch sich Ihre monatlichen Lizenzkosten erhöht haben.
Glücklicherweise hat Microsoft kürzlich den Entscheidungsprozess für SQL Server mit einer neuen Reihe von Azure-VMs etwas vereinfacht, die einige bestimmte VM-Größen (DS, ES, GS und MS) verwenden, aber die Anzahl der vCPUs auf ein Viertel oder die Hälfte reduzieren der ursprünglichen VM-Größe, während Arbeitsspeicher, Massenspeicher und I/O-Bandbreite beibehalten werden. Diese neuen VM-Größen haben ein Suffix, das die Anzahl der aktiven vCPUs angibt, damit sie leichter identifiziert werden können.
Eine Standard_DS14v2-Azure-VM hätte beispielsweise 16 vCPUs, 112 GB RAM und unterstützt bis zu 51.200 IOPS oder 768 MB/s sequentiellen Durchsatz (laut Microsoft). Eine neue Standard_DS14-8v2-Azure-VM hätte nur 8 vCPUs mit der gleichen Arbeitsspeicherkapazität und Datenträgerleistung wie die Standard_DS14v2, was Ihre SQL Server-Lizenzkosten pro Jahr um 50 % senken würde. Beide Azure-VM-SKUs hätten denselben ACU-Score von 160.
Ein etwas verwirrendes Problem bei diesen neuen Azure-VM-SKUs besteht darin, dass die monatlichen Compute-Kosten (einschließlich der Betriebssystemlizenzierung) für diese beiden SKUs gleich wären (989,52 $/Monat für dieses Beispiel). Was Sie sparen, sind die reduzierten monatlichen Lizenzkosten für SQL Server.
Im Wesentlichen deaktiviert Microsoft hier Kerne in der VM, um Ihre SQL Server-Lizenzkosten zu senken, was Sie mit einem lokalen SQL Server nicht tun dürfen. Bei lokalem SQL Server ist es Ihnen nicht gestattet, Prozessorkerne in Ihrem UEFI/BIOS zu deaktivieren, um Ihre SQL Server-Lizenzkosten zu senken. Selbst wenn Sie Kerne im UEFI/BIOS deaktivieren, müssen Sie diese Kerne dennoch für SQL Server lizenzieren.
Benchmarking Ihrer Azure-VM mit CPU-Z
Ein sehr schneller CPU-Benchmark, den Sie auf jedem Computer (physisch oder virtuell, Azure-VM oder nicht) ausführen können, ist der integrierte CPU-Z-Benchmark, der nur etwa 20 Sekunden dauert. Ich habe einen Standard DS14-8_v2 im South Central US Data Center erstellt. Diese VM verwendete den Intel Xeon E5-2673 v3 Haswell-EP-Prozessor, einen 12-Core-Prozessor mit einer Basistaktrate von 2,4 GHz und einer Turbo-Taktrate von 3,2 GHz, der anscheinend eine spezielle maßgeschneiderte Prozessor-SKU ist befindet sich nicht in der Intel Ark-Datenbank. Diese Prozessorfamilie wurde im 3. Quartal 2014 eingeführt, ist also seit über drei Jahren erhältlich. Auf dieser speziellen VM habe ich während meiner Tests keine Verwendung von Turbo Boost gesehen.
In den Abbildungen 1 bis 3 sehen Sie die CPU-Z-Benchmark-Ergebnisse für diese Azure-VM, wobei Abbildung 4 die Ergebnisse für meinen zugegebenermaßen schnellen Dell Precision 5520-Laptop darstellt. Mein Laptop hat die gleiche Anzahl virtueller Kerne wie die Azure-VM Standard DS14-8_v2, aber ich verwende einen viel neueren Intel Xeon E3-1505M v6 Kaby Lake-Prozessor mit einer höheren Basistaktrate und besserer Singlethread-Leistung.
Abbildung 1:Task-Manager von Standard DS14-8_v2 im Süden der USA
Abbildung 2:Registerkarte „CPU-Z CPU“ von Standard DS14-8_v2 im Süden der USA
Abbildung 3:CPU-Z Bench Tab von Standard DS14-8_v2 im Süden der USA
Abbildung 4:CPU-Z Bench Tab von Glenns Laptop