Op 5 december 2017 kondigde Microsoft aan dat ze AMD EPYC 7551-processors gebruikten in hun voor opslag geoptimaliseerde virtuele machines uit de Lv2-serie. Sindsdien heeft Microsoft de naam van deze serie veranderd in Lsv2. Deze VM's zijn niet in alle regio's beschikbaar, dus u wilt de beschikbaarheid controleren in de Azure-regio die u wilt gebruiken. De prijsgegevens voor de regio VS-Oost vindt u hier, als voorbeeld. Deze AMD EPYC-processors hebben een aantal voordelen voor SQL Server-workloads, zoals ik in dit artikel zal uitleggen.
AMD EPYC 7551-details
Deze 14nm AMD EPYC 7551-processor van de eerste generatie heeft 32 cores en 64 threads en werkt in servers met één of twee sockets. Deze processor heeft een basiskloksnelheid van 2,0 GHz, met een all-core boostsnelheid van 2,55 GHz en een maximale boostkloksnelheid van 3,0 GHz. De L3-cachegrootte is 64 MB.
Zoals alle processors uit de AMD EPYC 7000-serie ondersteunt deze specifieke SKU 128 PCIe 3.0-lanes voor I/O-connectiviteit. Het heeft ook acht geheugenkanalen die DDR4-2666-geheugen ondersteunen, die een piekgeheugenbandbreedte van 341 GB/seconde hebben in een server met twee sockets. Met deze processor heb je 2TB RAM per socket met 64GB DIMM's. Naarmate 128 GB DDR4 DIMM's op grotere schaal beschikbaar komen, zal die totale capaciteit verdubbelen.
De AMD EPYC 7551-processor heeft iets lagere single-threaded CPU-prestaties in vergelijking met de oudere 2,3 GHz Intel Xeon E5-2673 v4 (Broadwell) en de 2,4 GHz Intel Xeon E5-2673 v3 (Haswell) processors die Microsoft gebruikt voor veel van hun Azure VM-serie. Beide Intel-processors zijn speciale op maat gemaakte modellen die niet in de Intel ARK-database staan. In dit artikel schreef ik over het gebruik van CPU-Z om de Intel Xeon E5-2673 v3-processor in een Azure-VM te benchmarken.
De oudere Intel Xeon E5-26xx v3 (Haswell) serie die in het derde kwartaal van 2014 werd geïntroduceerd, had een maximale geheugenbandbreedte van 2133MHz. De iets nieuwere Intel Xeon E5-26xx v4 (Broadwell) serie die in het eerste kwartaal van 2016 werd geïntroduceerd, verhoogde dat tot 2400MHz. Beide processorfamilies hebben slechts vier geheugenkanalen, met een maximale capaciteit van 768 GB per socket met 32 GB DDR4 DIMM's. Ze hebben ook slechts 40 PCIe 3.0-lanes per processor.
Het voordeel van dit alles is dat deze AMD EPYC 7551-processor goed genoeg single-threaded CPU-prestaties heeft, samen met betere geheugenprestaties, geheugendichtheid en totale I/O-capaciteit in vergelijking met die twee Intel-processors. Dit maakt het een goede keuze voor veel SQL Server-workloads, met name DW-workloads.
Figuur 1:CPU-Z-benchmarkresultaten voor LS16v2
Als ik nu een op AMD gebaseerde server zou kopen voor on-premises SQL Server-gebruik, zou ik natuurlijk proberen de nieuwere, frequentie-geoptimaliseerde AMD EPYC 7371-processor te krijgen. De AMD EPYC 7371-processor heeft 32 cores en 64 threads en werkt in servers met één of twee sockets. Deze processor heeft een basiskloksnelheid van 3,1 GHz, met een all-core boostsnelheid van 3,6 GHz en een maximale boostkloksnelheid van 3,8 GHz. De L3-cachegrootte is 64 MB. ServeTheHome schreef over wat een "krankzinnige waarde" deze processor hier is.
Azure Lsv2-details
Deze Azure VM Lsv2-instanties gebruiken twee-socket, Open Compute Platform (OCP) Microsoft Project Olympus-servers, samen met de standaard AMD EPYC 7551-processors.
Figuur 2:Microsoft Project Olympus
De belangrijkste specificaties voor de virtuele machines uit de Lsv2-serie worden weergegeven in tabel 1. Ze bieden lokale NVMe-opslag met lage latentie die rechtstreeks gebruik kan maken van de 128 PCIe 3.0-lanes per socket die beschikbaar zijn in de hostmachine met de AMD EPYC 7551-processor.
VM-grootte | vCPU's | Geheugen (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 |
Tabel 1:Lsv2-serie Azure VM-specificaties
Verbeteringen op beheerde schijven van Azure VM
Azure Managed Disks zijn in wezen logische schijven die in feite virtuele harde schijven (VHD) zijn die u met elke Azure-VM kunt gebruiken, ongeacht de VM-grootte. Microsoft regelt het beheer van het opslagaccount voor u wanneer u Azure Managed Disks gebruikt. Dit geeft u de mogelijkheid om meer capaciteit en opslagprestaties toe te voegen zonder te hoeven upgraden naar een grotere Azure VM.
Op 25 maart 2019 kondigde Microsoft de beschikbaarheid aan van beheerde schijven met hogere prestaties en grotere capaciteit voor Azure VM's. Met deze nieuwe aanbiedingen gaat de maximale grootte van een enkele beheerde schijf tot 32 TB. Voorheen was je beperkt tot een grootte van 4 TB voor een enkele beheerde schijf. U kunt kiezen uit standaard HDD-beheerde schijven, standaard SSD-schijven en Premium SSD-schijven (met 64 TB Ultra Disk-beheerde schijven in een voorbeeldstatus).
Met Premium SSD-beheerde schijven gaan de prestaties omhoog van 7.500 IOPS naar 20.000 IOPS en van 250 MB/sec naar 900 MB/sec voor sequentiële prestaties. Dit prestatieniveau is redelijk goed te vergelijken met veel typische on-premises systemen, hoewel het nog steeds vrij eenvoudig is om veel hogere opslagprestaties te hebben met een zorgvuldig ontworpen on-premises opslagsubsysteem. Aan de andere kant hebben de CPU- en opslagprestaties van Azure VM een lange weg afgelegd sinds ik er in 2014 over schreef!
SQL Server-impact
Deze ontwikkelingen zijn van groot belang voor het gebruik van SQL Server op virtuele Azure-machines. Historisch gezien was een zwak punt van Azure-VM's vanuit het perspectief van SQL Server de relatief lage opslagprestaties die u kon bereiken, vooral met kleinere VM-grootten. SQL Server-taken waarvoor goede sequentiële I/O-prestaties vereist waren, waren vaak een uitdaging op Azure-VM's. Ik heb ook een aantal klanten gezien die praktisch gedwongen waren om de functie Delayed Durability op sommige databases te gebruiken om hoge LOGWRITE-wachttijden te voorkomen.
Een ander probleem was dat veel keuzes uit de Azure VM-serie niet goed gebalanceerd waren voor het gebruik van SQL Server, omdat ze je dwongen om een zeer hoog aantal kernen te hebben om een grote geheugencapaciteit in je VM te krijgen. Dit dreef zowel uw SQL Server-licentiekosten als uw Azure VM-kosten per uur op.
Conclusie
Het gebruik van een moderne AMD EPYC-processor in de voor opslag geoptimaliseerde Lsv2 Azure VM-serie geeft u een krachtig, uitgebalanceerd platform voor SQL Server-gebruik. Wat ik bedoel met een uitgebalanceerd platform is van het Microsoft Data Warehouse Fast Track-programma, waar een systeem kan worden ontworpen en geconfigureerd zodat gegevens van het opslagsubsysteem naar het geheugensubsysteem stromen om te worden gebruikt door de processorkernen waar er geen onnodige knelpunten waren in het systeem.
In dit geval heb je goede single-threaded CPU-prestaties, gecombineerd met een hoge geheugenbandbreedte en een zeer hoge opslagbandbreedte. Als meerdere lokale NVMe SSD's met lage latentie op die PCIe-lanes zijn aangesloten, krijgt u uitstekende opslagprestaties. U kunt ook extra high-performance opslagcapaciteit toevoegen met de nieuw verbeterde Azure Managed Disks met Premium SSD-schijven, die u extra flexibiliteit geven voor opslagcapaciteit en prestaties.