sql >> Databasteknik >  >> RDS >> Sqlserver

Azure Virtual Machines för användning av SQL Server

Ett första, enkelt steg för att flytta dina lokala SQL Server-arbetsbelastningar till molnet är att använda virtuella Azure-datorer för att köra dina SQL Server-arbetsbelastningar i ett scenario för infrastruktur som en tjänst (IaaS). Detta tar bort bördan med att köpa och underhålla din hårdvara, lagring och nätverksinfrastruktur, samtidigt som du får en mycket bekant upplevelse med själva Windows och SQL Server.

Du kommer fortfarande att behöva underhålla ditt operativsystem, SQL Server och databaser precis som du skulle göra i ett lokalt scenario. I utbyte mot detta kommer dina databaser och applikationer att fungera precis som de skulle göra i en lokal installation, vilket gör detta till ett enkelt sätt att börja använda Azure.

Ett viktigt val du fortfarande måste göra är vilken typ och storlek av virtuell Azure-maskin du vill använda för din befintliga SQL Server-arbetsbelastning. Till skillnad från ett lokalt scenario kommer du att ha mycket mindre kontroll över det faktiska processorvalet i den underliggande värddatorn. Med en Azure VM väljer du en viss maskinserie (som en Esv3-serie) och storlek i en viss Azure-region, och sedan får du den processor som Microsoft använder för den serien och storleken i den Azure-regionen.

Azure VM-typer och -serier

Microsoft har för närvarande åtta huvudtyper av virtuella maskiner utformade för olika typer av arbetsbelastningar. Dessa inkluderar ingångsnivå, allmänt ändamål, beräkningsoptimerad, minnesoptimerad, lagringsoptimerad, GPU, högpresterande beräkning och konfidentiell säker enklav.

För högpresterande OLTP SQL Server-arbetsbelastningar är den minnesoptimerade typen av virtuella Azure-datorer vanligtvis det bästa valet. Enligt Microsoft erbjuder "minnesoptimerade VM-storlekar ett högt minne-till-CPU-förhållande som är bra för relationsdatabasservrar." Detta ger dig lägre antal kärnor, med mer minne, vilket vanligtvis är vad du vill ha för SQL Server, för att minimera dina licenskostnader och ändå ha bra prestanda.

Du kan gå ännu längre på den här vägen med VM-storlekar med begränsad vCPU-kapacitet, där du kan begränsa VM-antalet vCPU (till hälften eller en fjärdedel av den ursprungliga VM-storleken) för att minska kostnaden för SQL Server-licenser, samtidigt som du behåller samma minne , lagring och I/O-bandbredd som en icke-begränsad virtuell dator. Dessa begränsade virtuella Azure-datorer har ett suffix i namnet som anger antalet aktiva vCPU:er i den virtuella datorn.

Till exempel:en vanlig Standard_E64s_v3 skulle ha 64 vCPU-kärnor, medan en begränsad Standard_E64-16s_v3 bara skulle ha 16 vCPU-kärnor med i övrigt identiska specifikationer. Suffixet -16s indikerar antalet aktiva vCPU-kärnor.

Esv3-serien

Den här serien använder 2,1 GHz Intel Xeon Platinum 8171M (Skylake-SP)-processorn, som är en speciell skräddarsydd processor-SKU som inte finns i den offentliga Intel ARK-databasen. Den verkar ha identiska specifikationer som 26C/52T 2,1 GHz Intel Xeon Platinum 8170M (Skylake-SP)-processorn. M-suffixet i modellnumret betyder att den stöder 1,5 TB RAM per socket snarare än 768 GB RAM per socket. Esv3-serien är klassad till 160-190 Azure Compute Units (ACU).

Obs:I vissa regioner använder Microsoft den äldre Intel Xeon E5-2673 v4 (Broadwell) skräddarsydda processorn i Esv3-serien. Microsofts Mine Tokus har en bra artikel där hon körde en serie nedskalade TPC-E-riktmärken mot en E64s_v3 virtuell dator som använde den äldre Broadwell-processorn.

Esv3-serien börjar med en Standard_E2s_v3 med 2 vCPU och 16 GB RAM, och den toppar på en Standard_E64is_v3 med 64 vCPU och 432 GB RAM. Det finns också stora skillnader i lagringskapacitet och genomströmning mellan dessa ytterligheter. BTW, "i" i namngivningen Standard_E64is_v3 betyder att instansen är isolerad till hårdvara dedikerad till en enda kund. De flesta av de vanliga storlekarna i Esv3-serien är också tillgängliga som begränsade virtuella datorer, vilket ger dig mycket flexibilitet när det gäller storlek.

Om du jämför figurerna 1 och 2 noga, kommer du att se en mycket mer fördelaktig uppsättning val för vCPU-antal, RAM-mängder och maxkapacitet för ocachad disk med de begränsade VM-valen i figur 2.

Figur 1:Specifikationer för vanliga Esv3-serien (klicka för att förstora)

I synnerhet gillar jag storlekarna Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 och Standard_E64-16s_v3 för SQL Server eftersom de har en extremt trevlig kombination av relativt lågt antal kärnor, hög minneskapacitet och hög diskgenomströmning jämfört med andra tillgängliga alternativ i denna serie.

Dessa är alla begränsade erbjudanden som bara använder en fjärdedel av de tillgängliga vCPU-kärnorna i det vanliga erbjudandet. De andra valen i figur 2 använder alla hälften av de tillgängliga vCPU-kärnorna i det vanliga erbjudandet, med samma minnes- och diskgenomströmningsgränser, vilket skulle fördubbla din licenskostnad med lägre RAM och diskgenomströmning än du annars skulle kunna få med ett bättre val .

Figur 2:Begränsade Esv3-seriens specifikationer (klicka för att förstora)

Jämför till exempel de tre möjliga VM-valen som visas i figur 3. Genom att välja klokt bland de begränsade valen vid ett visst vCPU-antal kan du få mellan 2X och 4X minnet och diskgenomströmningen för samma SQL Server-licenskostnad.

Tänk på att beräkningskostnaden, som inkluderar OS-licenser, förblir densamma som den ursprungliga vCPU-storleken som den begränsade storleken härleddes från.

Figur 3:Jämförande Esv3-series 8 vCPU-specifikationer (klicka för att förstora)

Esv4-serien

Ett annat val som är väl lämpat för både OLTP- och DW-arbetsbelastningar är Esv4-serien. Dessa virtuella datorer använder den nyare 7nm 2,35GHz AMD EPYC 7452 (Rom)-processorn. Denna processor har 32C/64T, en basklocka på 2,35 GHz, en max boost-klocka på upp till 3,35 GHz, 128 MB L3-cache, 128 PCIe 4.0-banor och 2 TB RAM-kapacitet. Azure virtuella datorer i den här serien börjar med Standard_E2as_v4 med 2 vCPU och 16 GB RAM, och den toppar med Standard_E96as_v4 med 96 vCPU och 672 GB RAM. Esv4-serien är klassad till 230-260 Azure Compute Units (ACU).

AMD EPYC 7452-processorn är faktiskt betydligt snabbare för enkeltrådad CPU-prestanda än Intel Xeon Platinum 8171M-processorn enligt mina uppskattade TPC-E-poängberäkningar. AMD EPYC 7452 har ett uppskattat TPC-E-poäng/kärna på 67,64, medan Intel Xeon Platinum 8171M har ett uppskattat TPC-E-poäng/kärna på 49,55. Jag tror att detta beror på AMD-processorns högre IPC och högre basklockhastighet.

Figur 4 visar relevanta specifikationer för de flesta VM-storlekarna i Esv4-serien. Vad jag kan säga, erbjuder Microsoft ännu inte begränsade versioner av virtuella datorer i Esv4-serien. Förhoppningsvis kommer de att göra det i framtiden.

Figur 4:Specifikationer för utvalda Esv4-serier (klicka för att förstora)

Slutsats

När du använder virtuella Azure-maskiner för SQL Server-arbetsbelastningar bör du lägga lite tid på att utvärdera de olika Azure VM-serierna och storlekarna som är tillgängliga i din föredragna region. Microsoft använder olika skräddarsydda processorer i olika VM-serier och ibland inom samma VM-serie. Att göra den här typen av analys av dina tillgängliga val för VM-serier och storlek bör vara en av dina första uppgifter. Om möjligt, försök att dra fördel av de begränsade erbjudanden som Microsoft erbjuder, eftersom de erbjuder utmärkt värde för SQL Server.

Efter att du har valt en VM-serie och storlek, skulle jag göra några snabba CPU- och lagringsriktmärken, som CPU-Z, Geekbench 5 och CrystalDiskMark 7 som en första förnuftskontroll (innan du ens installerar SQL Server). Detta låter dig jämföra dina virtuella Azure-datorer med varandra och med din gamla lokala hårdvara och lagring. Tim Radney har en bra artikel om denna process (för lagring).


  1. Få den första måndagen i en månad i SQLite

  2. Oracle PL/SQL - Hur skapar man en enkel arrayvariabel?

  3. Vad motsvarar Oracles REF CURSOR i MySQL när du använder JDBC?

  4. Använd flera konfliktmål i ON CONFLICT-satsen