sql >> Databasteknik >  >> RDS >> Database

AMD EPYC-processorer i virtuella Azure-maskiner

Tillbaka den 5 december 2017 meddelade Microsoft att de använder AMD EPYC 7551-processorer i sina lagringsoptimerade virtuella maskiner i Lv2-serien. Sedan dess har Microsoft ändrat namnet på denna serie till Lsv2. Dessa virtuella datorer är inte tillgängliga i alla regioner, så du vill kontrollera tillgängligheten i Azure-regionen som du är intresserad av att använda. Prisinformationen för den östra USA-regionen finns här, som ett exempel. Dessa AMD EPYC-processorer har ett antal fördelar för SQL Server-arbetsbelastningar, som jag kommer att förklara i den här artikeln.

AMD EPYC 7551 Detaljer

Denna 14nm första generationens AMD EPYC 7551-processor har 32 kärnor och 64 trådar, och den fungerar i en eller två-socket servrar. Den här processorn har en basklockhastighet på 2,0 GHz, med en boosthastighet på hela kärnan på 2,55 GHz och en maximal boostklockhastighet på 3,0 GHz. L3-cachestorleken är 64 MB.

Liksom alla processorer i AMD EPYC 7000-serien stöder just denna SKU 128 PCIe 3.0-banor för I/O-anslutning. Den har också åtta minneskanaler som stöder DDR4-2666-minne, som har en maximal minnesbandbredd på 341 GB/sekund i en server med två sockel. Med den här processorn kan du ha 2 TB RAM per sockel med 64 GB DIMM. När 128 GB DDR4 DIMM blir mer allmänt tillgängliga kommer den totala kapaciteten att fördubblas.

AMD EPYC 7551-processorn har något lägre enkeltrådad CPU-prestanda jämfört med de äldre 2,3 GHz Intel Xeon E5-2673 v4 (Broadwell) och 2,4 GHz Intel Xeon E5-2673 v3 (Haswell)-processorerna som Microsoft använder för många av sina Azure VM-serien. Båda dessa Intel-processorer är specialanpassade modeller som inte finns i Intel ARK-databasen. Jag skrev om att använda CPU-Z för att benchmarka Intel Xeon E5-2673 v3-processorn i en Azure VM i den här artikeln.

Den äldre Intel Xeon E5-26xx v3 (Haswell)-serien som introducerades under tredje kvartalet 2014, hade en maximal minnesbandbredd på 2133MHz. Den något nyare Intel Xeon E5-26xx v4 (Broadwell)-serien som introducerades under första kvartalet 2016 ökade det till 2400MHz. Båda dessa processorfamiljer har bara fyra minneskanaler, med en maximal kapacitet på 768 GB per sockel med 32 GB DDR4 DIMM. De har också bara 40 PCIe 3.0-banor per processor.

Utmärkelsen från allt detta är att denna AMD EPYC 7551-processor har tillräckligt bra entrådig CPU-prestanda, tillsammans med bättre minnesprestanda, minnestäthet och total I/O-kapacitet jämfört med dessa två Intel-processorer. Detta gör det till ett bra val för många SQL Server-arbetsbelastningar, särskilt DW-arbetsbelastningar.

Figur 1:CPU-Z Benchmark-resultat för LS16v2

Naturligtvis, om jag skulle köpa en AMD-baserad server för lokal SQL Server-användning just nu, skulle jag försöka skaffa den nyare, frekvensoptimerade AMD EPYC 7371-processorn. AMD EPYC 7371-processorn har 32 kärnor och 64 trådar, och den fungerar i en- eller tvåsocketsservrar. Den här processorn har en basklockhastighet på 3,1 GHz, med en boosthastighet på hela kärnan på 3,6 GHz och en maximal boostklockhastighet på 3,8 GHz. L3-cachestorleken är 64MB. ServeTheHome skrev om vilket "sinnessjukt värde" denna processor är här.

Azure Lsv2 Detaljer

Dessa Azure VM Lsv2-instanser använder två-sockets, Open Compute Platform (OCP) Microsoft Project Olympus-servrar, tillsammans med standard AMD EPYC 7551-processorer.

Figur 2:Microsoft Project Olympus

Nyckelspecifikationerna för virtuella datorer i Lsv2-serien visas i tabell 1. De har låg latens, lokal NVMe-lagring som direkt kan utnyttja de 128 PCIe 3.0-banorna per sockel som är tillgängliga i värddatorn med AMD EPYC 7551-processorn.

VM-storlek vCPU:er Minne (GiB) Lokal 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

Tabell 1:Lsv2 Series Azure VM-specifikationer

Azure VM Managed Disk Improvements

Azure Managed Disks är i huvudsak logiska diskar som faktiskt är virtuella hårddiskar (VHD) som du kan använda med vilken Azure VM som helst, oavsett VM-storlek. Microsoft hanterar lagringskontohanteringen åt dig när du använder Azure Managed Disks. Detta ger dig möjligheten att lägga till mer kapacitet och lagringsprestanda utan att behöva uppgradera till en större Azure VM.

Den 25 mars 2019 tillkännagav Microsoft tillgången till hanterade diskar med högre prestanda och större kapacitet för virtuella Azure-datorer. Med dessa nya erbjudanden går den maximala storleken på en enda hanterad disk upp till 32TB. Tidigare var du begränsad till en storlek på 4 TB för en enda hanterad disk. Du kan välja mellan Standard HDD-hanterade diskar, Standard SSD-diskar och Premium SSD-diskar (med 64TB Ultra Disk-hanterade diskar i förhandsgranskningsstatus).

Med Premium SSD-hanterade diskar går prestandan upp från 7 500 IOPS till 20 000 IOPS och från 250 MB/sek till 900 MB/sek för sekventiell prestanda. Denna prestandanivå kan jämföras ganska bra med många typiska lokala system, även om det fortfarande är ganska lätt att ha mycket högre lagringsprestanda med ett noggrant utformat lokalt lagringsundersystem. Å andra sidan har Azure VM CPU och lagringsprestanda kommit långt sedan jag skrev om det 2014!

SQL-serverpåverkan

Den här utvecklingen är en stor sak för SQL Server-användning på virtuella Azure-datorer. Historiskt sett var en svaghet hos virtuella Azure-datorer ur ett SQL Server-perspektiv den relativt låga lagringsprestanda som du kunde uppnå, särskilt med mindre virtuella datorer. SQL Server-uppgifter som krävde bra sekventiell I/O-prestanda var ofta utmanande på virtuella Azure-datorer. Jag har också sett ett antal klienter som praktiskt taget var tvungna att använda funktionen fördröjd hållbarhet på vissa databaser för att undvika höga LOGWRITE-väntningar.

Ett annat problem var att många Azure VM-serieval inte var lämpligt balanserade för SQL Server-användning, eftersom de tvingade dig att ha mycket höga kärnantal för att få stor minneskapacitet i din virtuella dator. Detta ökade både dina SQL Server-licenskostnader och dina Azure VM-kostnader per timme.

Slutsats

Att använda en modern AMD EPYC-processor i den lagringsoptimerade Lsv2 Azure VM-serien ger dig en högpresterande, balanserad plattform för SQL Server-användning. Vad jag menar med en balanserad plattform är från Microsoft Data Warehouse Fast Track-programmet, där ett system kunde designas och konfigureras så att data flödade från lagringsundersystemet till minnesundersystemet för att konsumeras av processorkärnorna där det inte fanns några onödiga flaskhalsar i systemet.

I det här fallet har du bra entrådad CPU-prestanda, kombinerat med hög minnesbandbredd och mycket hög lagringsbandbredd. Att ha flera lokala NVMe SSD-enheter med låg latens anslutna till dessa PCIe-banor ger dig utmärkt lagringsprestanda. Du kan också lägga till ytterligare högpresterande lagringskapacitet med de nyligen förbättrade Azure Managed Disks med Premium SSD-diskar, vilket ger dig ytterligare flexibilitet för lagringskapacitet och prestanda.


  1. Hur man skapar en tabell i Oracle SQL Developer?

  2. Rails rapporter kan inte hitta en kolumn som finns där

  3. Hur kan jag skapa en kopia av en Oracle-tabell utan att kopiera data?

  4. MySQL InnoDB Cluster 8.0 - En komplett operationsgenomgång:Del två