Dela via


VM-storlek: Metodtips för prestanda för SQL Server på virtuella Azure-datorer

gäller för:SQL Server på virtuella Azure-datorer

Den här artikeln innehåller vägledning för VM-storlek en serie metodtips och riktlinjer för att optimera prestanda för din SQL Server på virtuella Azure-datorer (VM).

Det finns vanligtvis en kompromiss mellan att optimera för kostnader och optimera prestanda. Den här serien med metodtips för prestanda fokuserar på att få bästa prestanda för SQL Server på virtuella Azure-datorer. Om din arbetsbelastning är mindre krävande kanske du inte behöver varje rekommenderad optimering. Tänk på dina prestandabehov, kostnader och arbetsbelastningsmönster när du utvärderar dessa rekommendationer.

Mer information finns i de andra artiklarna i den här serien: Checklista, Storage, Security, HADR-konfiguration, Samla in baslinje.

Checklista

Läs följande checklista för en kort översikt över bästa praxis för VM-storlek som resten av artikeln beskriver mer ingående.

  • Identifiera prestandaegenskaper för arbetsbelastningar för att fastställa lämplig VM-storlek för ditt företag.
  • Om du migrerar till Azure använder du verktyg som Data Migration Assistant och SKU-rekommendation för att hitta rätt VM-storlek för din befintliga SQL Server-arbetsbelastning och sedan migrera med Azure Data Studio-.
  • Använd Azure Marketplace-avbildningar för att distribuera dina virtuella SQL Server-datorer eftersom SQL Server-inställningarna och lagringsalternativen har konfigurerats för optimala prestanda.
  • Använd VM-storlekar med 4 eller mer vCPU.
  • Använd minnesoptimerade storlekar för virtuella datorer för bästa prestanda för SQL Server-arbetsbelastningar.
    • Edsv5-serienoch Msv3- och Mdsv3-serien erbjuder ett optimalt förhållande mellan minne och virtuell kärna som rekommenderas för OLTP-arbetsbelastningar.
    • De virtuella datorerna i Mbdsv3-serien erbjuder den bästa prestandan för SQL Server-workloads på Azure VMs. Tänk på den här serien först för verksamhetskritiska OLTP- och datalager-SQL Server-arbetsbelastningar.
    • Ebdsv5-serien ger ett högt I/O-genomflöde-till-vCore-förhållande, tillsammans med ett minne-till-vCore-förhållande på 8:1. Den här serien erbjuder bästa prisprestanda för SQL Server-arbetsbelastningar på virtuella Azure-datorer. Tänk på de här virtuella datorerna först för de flesta SQL Server-arbetsbelastningar.
    • Familjen M-serien erbjuder virtuella datorer med den högsta minnesallokeringen i Azure.
    • Mbsv3- och Mbdsv3-serien virtuella datorer ger en hög minnesallokering och det högsta förhållandet mellan I/O-dataflöde och virtuella kärnor i M-serien, tillsammans med ett konsekvent förhållande mellan minne och virtuell kärna på minst 8:1.
  • Starta utvecklingsmiljöer med D-serien på lägre nivå, B-serien eller Av2-serien och utöka din miljö över tid.
  • Kontrollera stöd för virtuella datorer för att undvika konfigurationer som inte stöds.

För att jämföra checklistan för VM-storlek med de andra, se den omfattande checklistan för bästa praxis inom prestanda.

Överblick

När du skapar en SQL Server på en virtuell Azure-dator bör du noga överväga vilken typ av arbetsbelastning som krävs. Om du migrerar en befintlig miljö, samla in en prestandabaslinje för att fastställa dina krav för SQL Server på virtuella Azure-maskiner. Använd vCPU- och minneskonfigurationen från källdatorn som baslinje för att migrera en aktuell lokal SQL Server-databas till SQL Server på virtuella Azure-datorer. Om du har Software Assurance kan du dra nytta av Azure Hybrid-förmånen för att ta dina licenser till Azure och spara på SQL Server-licensieringskostnader.

Om det här är en ny virtuell dator skapar du den nya virtuella SQL Server-datorn baserat på dina programkrav. Om du skapar en ny virtuell SQL Server-dator för ett nytt program som skapats för molnet kan du enkelt skala din virtuella SQL Server-dator allt eftersom dina data- och användningskrav utvecklas. Starta utvecklingsmiljöer med D-serien på lägre nivå, B-serien eller Av2-serien och utöka din miljö över tid.

Överväg följande VM-serie baserat på dina SQL Server-arbetsbelastningar:

  • Högsta minnesallokering för verksamhetskritiska arbetsbelastningar: De virtuella datorerna i Mbsv3- och Mbdsv3-serien erbjuder den högsta minnesallokeringen i Azure med bästa lagringsprestanda.
  • Högt dataflöde-till-kärna-förhållande: De virtuella datorerna i Mbsv3- och Mbdsv3-serien erbjuder det högsta förhållandet mellan dataflöde och virtuella kärnor bland alla VM-serier i någon molnlösning. De virtuella datorerna i Ebdsv5-serien erbjuder Azure det näst bästa förhållandet mellan dataflöde och vCore. Om du inte känner till I/O-kraven för din SQL Server-arbetsbelastning är virtuella datorer i Ebdsv5-serien den som mest sannolikt uppfyller dina behov. Mer information finns i artikeln storage.
  • Parallell bearbetning för större datorer: De virtuella datorerna i Msv3- och Mdsv3-serien erbjuda parallell bearbetning, vilket gör dem till bra alternativ för större informationslagermiljöer.

SQL Server-informationslager och verksamhetskritiska miljöer behöver ofta skalas bortom förhållandet 8:1 minne till virtuell kärna. För medelstora miljöer kanske du vill välja förhållandet 16:1 minne till virtuell kärna och ett förhållande på 32:1 minne till virtuell kärna för större informationslagermiljöer.

Använd Marketplace-avbilder för SQL Server VM med lagringskonfigurationen i portalen. Det gör det enklare att skapa de lagringspooler som krävs för att få den storlek, IOPS och det dataflöde som krävs för dina arbetsbelastningar. Det är viktigt att välja virtuella SQL Server-datorer som stöder premiumlagringsprestanda. Mer information finns i artikeln storage.

Försiktighet

SQL Server för Azure VM-bilder stöds inte av VM-storlekar som distribueras med en oinitierad tillfällig disk. Mer information finns i Vissa SQL Server-avbildningar på virtuella Azure-datorer kan inte distribueras.

Minnesoptimerade virtuella datorer i M-serien

M-serien erbjuder antal virtuella kärnor och minne för några av de största SQL Server-arbetsbelastningarna.

Följande listar funktionerna i de virtuella datorerna i M-serien:

Mbsv3- och Mbdsv3-serien

Mbsv3- och Mbdsv3-serien är minnesoptimerade virtuella datorer som är utformade för stora minnesinterna databaser och arbetsbelastningar med höga behov av förhållande mellan minne och PROCESSOR. De virtuella datorerna i den här serien bygger på den fjärde generationens Intel® Xeon® Scalable och erbjuder en mängd minnesstorlekar och vCPU-antal för att uppfylla behoven hos dina SQL Server-arbetsbelastningar. Virtuella datorer i Mbsv3- och Mbdsv3-serien rekommenderas för verksamhetskritiska arbetsbelastningar och arbetsbelastningar för informationslager.

De virtuella datorerna i Mbsv3- och Mbdsv3-serien har stöd för stora minnesinterna databaser och arbetsbelastningar med ett högt förhållande mellan minne och PROCESSOR som är perfekt för relationsdatabasservrar, datalagerhantering, tung rapportering, stora cacheminnen och minnesintern analys.

Följande är egenskaper för virtuella datorer i den här serien:

  • Mbsv3-serien erbjuder upp till 176 virtuella kärnor och 1 536 GiB minne, med ett konsekvent förhållande på 8:1 minne till virtuell kärna, 650 000 IOPS och 6 000 Mbit/s lagringsflöde.
  • Mbdsv3-serien erbjuder upp till 176 virtuella kärnor och 4 TiB minne, 650 000 IOPS och 10 000 Mbit/s lagringsdataflöde. Den här VM-serien erbjuder över 50% förbättring av IOPS och dataflödet till den högpresterande Ebdsv5-serien – vilket gör Mbdsv3 till ett av de mest högpresterande VM-alternativen i alla moln. Mbdsv3 VM-serien delar liknande prestandaegenskaper med Mbsv3 VM-serien, men innehåller stark lokal och tillfällig lagring, vilket gör den perfekt för tempdb-prestandaoptimering, rapportering, verksamhetskritisk OLAP och arbetsbelastningar för datalagerhantering.

Msv3- och Mdsv3-serien

De virtuella datorerna Msv3 och Mdsv3 är utformade med beräkningskraft och minnesfunktioner på medelhög, hög och mycket höga minnesnivåer. Dessa virtuella datorer ger bättre prestanda, skalbarhet och motståndskraft mot fel jämfört med den tidigare generationens virtuella Mv2-datorer.

Nedan listas de virtuella datorerna i den här serien.

  • msv3 och mdsv3 virtuella datorer med medelhögt minne: drivs av 4:e generationens Intel® Xeon-skalbara® processorer och erbjuder VM-storlekar på upp till 4 TiB minne, 416 vCPU:er, 130 000 IOPS och 4 000 Mbit/s fjärrlagringsdataflöde med NVMe-gränssnittet.
  • virtuella Msv3- och Mdsv3-datorer med högt minne: är utformade för hög minnesarbetsbelastningar med minne från 6 TiB till 16 TiB, upp till 832 vCPU:er, upp till 260 000 IOPS och 8 000 Mbit/s-dataflöde till fjärrlagring med NVMe-gränssnittet.
  • Mdsv3 Very High Memory Series: drivs av 4:e generationens Intel® Xeon® Platinum 8490H-processorer (Sapphire Rapids), och har det största minnesavtrycket för någon av M-seriens baserade virtuella datorer som erbjuder upp till 32 TiB minne, 1 792 vCPU:er, upp till 200 000 IOPS och 8 000 Mbit/s fjärrlagringsdataflöde.

Försiktighet

Inaktivera SMT för att använda SQL Server på Azure-virtuella datorer där antalet vCores per NUMA-nod överskrider 64.

Minnesoptimerade virtuella datorer i E-serien

De virtuella datorerna i E-serien är utformade för minnesintensiva arbetsbelastningar, till exempel stora databaser, stordataanalys och företagsprogram som kräver stora mängder RAM-minne för att upprätthålla höga prestanda.

Ebdsv5-serien

Ebdsv5-serien är en minnesoptimerad serie med virtuella datorer som erbjuder det högsta tillgängliga fjärrlagringsdataflödet i Azure. Dessa virtuella datorer har ett förhållande mellan minne och virtuell kärna på 8:1, vilket tillsammans med det höga I/O-dataflödet gör dem idealiska för de flesta SQL Server-arbetsbelastningar. De virtuella datorerna i Ebdsv5-serien erbjuder bästa prisprestanda för SQL Server-arbetsbelastningar som körs på virtuella Azure-datorer och vi rekommenderar dem starkt för de flesta SQL Server-arbetsbelastningar i produktion.

Obs

De större Ebdsv5-serien storlekar (48 vCPU:er och större) har stöd för NVMe-aktiverad lagringsåtkomst. För att kunna dra nytta av den här höga I/O-prestandan måste du distribuera den virtuella datorn med NVMe-.

Edsv5-serien

Edsv5-serien är utformad för minnesintensiva program och är idealisk för SQL Server-arbetsbelastningar som inte kräver så högt I/O-dataflöde som Ebdsv5-serien erbjuder. Dessa virtuella datorer har en stor lokal lagrings-SSD-kapacitet, upp till 672 GiB RAM-minne och mycket högt lokalt och fjärranslutet lagringsdataflöde. Det finns nästan konsekventa 8 GiB minne per virtuell kärna på de flesta av dessa virtuella datorer, vilket är idealiskt för de flesta SQL Server-arbetsbelastningar.

Den största virtuella datorn i den här gruppen är Standard_E104ids_v5 som erbjuder 104 virtuella kärnor och 672 gibs minne. Den här virtuella maskinen är anmärkningsvärd eftersom den är isolerad, vilket innebär att den garanterat är den enda virtuella maskinen som körs på värden och därför är avskild från andra kunders arbetsbelastningar. Detta har ett förhållande mellan minne och virtuell kärna som är lägre än vad som rekommenderas för SQL Server, så det bör endast användas om isolering krävs.

De virtuella datorerna i Edsv5-serien stöder premiumlagringoch cachelagring i Premium Storage.

ECadsv5-serien

ECadsv5-serien virtuella datorstorlekar är minnesoptimerade konfidentiella virtuella Azure-datorer med en tillfällig disk. Läs konfidentiella virtuella datorer för information om säkerhetsfördelarna med konfidentiella virtuella Azure-datorer.

Eftersom säkerhetsfunktionerna i konfidentiella Virtuella Azure-datorer kan medföra prestandakostnader testar du arbetsbelastningen och väljer en VM-storlek som uppfyller dina prestandakrav.

Generell användning

Storlekarna virtuella datorer för generell användning är utformade för att ge ett balanserat förhållande mellan minne och vCores för mindre arbetsbelastningar på nybörjarnivå, som utveckling och test, webbservrar och mindre databasservrar.

På grund av de mindre minne till vCore-förhållandena med de virtuella datorerna i allmänt syfte är det viktigt att noggrant övervaka minnesbaserade prestandaräknare för att säkerställa att SQL Server kan få det buffertcacheminne den behöver. Mer information finns i minnesprestandabaslinje.

Eftersom startrekommenderingen för produktionsarbetsbelastningar är ett förhållande mellan minne och virtuell kärna på 8, är den minsta rekommenderade konfigurationen för en allmän virtuell dator som kör SQL Server 4 vCPU och 32 GiB minne.

Ddsv5-serien

Ddsv5-serien erbjuder en balanserad kombination av vCPU, minne och tillfällig disk, men med lägre minne-till-vCore-stöd.

De virtuella Ddsv5-datorerna innehåller kortare svarstid och lokal lagring med högre hastighet.

Dessa datorer är idealiska för sql- och appdistributioner sida vid sida som kräver snabb åtkomst till temporär lagring och avdelningsrelationsdatabaser. Det finns ett standardförhållande mellan minne och virtuell kärna på 4 för alla virtuella datorer i den här serien.

Därför rekommenderar vi att du använder D8ds_v5 som den virtuella startdatorn i den här serien, som har 8 virtuella kärnor och 32 gibs minne. Den största datorn är D96ds_v5, som har 96 virtuella kärnor och 256 gibs minne.

De virtuella datorerna i Ddsv5-serien stöder premiumlagring och cachelagring för premiumlagring.

Obs

Ddsv5-serien har inte det rekommenderade minne-till-vCore-förhållandet på 8 för SQL Server-arbetsbelastningar. Därför bör du överväga att använda dessa virtuella datorer endast för små program och utvecklingsarbetsbelastningar.

DCadsv5-serien

DCadsv5-serien storlekar för virtuella datorer är Azure-konfidentiella virtuella datorer för generellt syfte med tillfällig disk. Läs konfidentiella virtuella datorer för information om säkerhetsfördelarna med konfidentiella virtuella Azure-datorer.

Eftersom säkerhetsfunktionerna i konfidentiella virtuella Azure-datorer kan introducera prestandakostnader testar du arbetsbelastningen och väljer en VM-storlek som uppfyller dina prestandakrav.

B-serien

Den burstable B-serien virtuella datorstorlekar är idealiska för arbetsbelastningar som inte behöver konsekventa prestanda, till exempel konceptbevis och mycket små program- och utvecklingsservrar.

De flesta av de burstable B-series storlekar på virtuella datorer har ett förhållande mellan minne och vCore på 4. Den största burstable B-serien är Standard_B20ms med 20 vCores och 80 GiB minne.

Den här serien är unik eftersom apparna har möjlighet att burst- under kontorstid med burstbara krediter som varierar beroende på datorstorlek.

När krediterna är slut återgår den virtuella datorn till originaldatorns prestanda.

Fördelen med B-serien är de beräkningsbesparingar du kan uppnå jämfört med de andra VM-storlekarna i andra serier, särskilt om du behöver bearbetningskraften sparsamt under dagen.

Den här serien stöder premiumlagring, men stöder intecachelagring för premiumlagring.

Obs

Den burstbara B-serien har inte minne-till-vCore-förhållandet på 8 som rekommenderas för SQL Server-arbetsbelastningar. Därför bör du överväga att använda dessa virtuella datorer endast för mindre program, webbservrar och utvecklingsarbetsbelastningar.

Av2-serien

De Av2-serien virtuella datorer passar bäst för arbetsbelastningar på ingångsnivå som utveckling och testning, webbservrar med låg trafik, små till medelstora appdatabaser och konceptbevis.

Endast Standard_A2m_v2 (2 virtuella kärnor och 16GiBs minne), Standard_A4m_v2 (4 virtuella kärnor och 32GiBs minne) och Standard_A8m_v2 (8 virtuella kärnor och 64GiBs minne) har ett bra förhållande mellan minne och virtuell kärna på 8 för dessa tre främsta virtuella datorer.

De här virtuella datorerna är båda bra alternativ för mindre utveckling och testning av SQL Server-datorer.

8 kärnor Standard_A8m_v2 kan också vara ett bra alternativ för små applikationer och webbservrar.

Obs

Av2-serien stöder inte premiumlagring och rekommenderas därför inte för SQL Server-arbetsbelastningar för produktion även med de virtuella datorer som har ett förhållande mellan minne och virtuell kärna på 8.

Optimerad för lagring

De lagringsoptimerade VM-storlekarna är för specifika användningsfall. Dessa virtuella datorer är särskilt utformade med optimerat diskdataflöde och I/O.

Lsv2-serien

Lsv2-serien har högt dataflöde, låg svarstid och lokal NVMe-lagring. De virtuella datorerna i Lsv2-serien är optimerade för att använda den lokala disken på noden som är ansluten direkt till den virtuella datorn i stället för att använda varaktiga datadiskar.

Dessa virtuella datorer är starka alternativ för stordata, informationslager, rapportering och ETL-arbetsbelastningar. Det höga dataflödet och IOPS för den lokala NVMe-lagringen är ett bra användningsfall för bearbetning av filer som läses in i databasen och andra scenarier där data kan återskapas från källsystemet eller andra lagringsplatser som Azure Blob Storage eller Azure Data Lake. Lsv2-serien virtuella datorer kan också tillfälligt öka diskprestandan i upp till 30 minuter åt gången.

Dessa virtuella datorer är mellan 8 och 80 vCPU:er med 8 GiB minne per vCPU och för varje 8 virtuella processorer finns det 1,92 TiB NVMe SSD. Det innebär att för den största virtuella datorn i den här serien, L80s_v2, finns det 80 vCPU och 640 BiB minne med 10x1,92 TiB NVMe-lagring. Det finns ett konsekvent förhållande mellan minne och virtuell kärna på 8 på alla dessa virtuella datorer.

NVMe-lagringen är tillfällig, vilket innebär att data går förlorade på dessa diskar om du frigör den virtuella datorn eller om den flyttas till en annan värd för tjänståterställning.

Lsv2- och Ls-serien stöder premiumlagring, men de stöder inte cachelagring för premiumlagring. Det går inte att skapa en lokal cache för att öka IOPS.

Varning

Lagring av dina datafiler på den tillfälliga NVMe-lagringen kan leda till dataförlust när den virtuella datorn frigörs.

Begränsade virtuella kärnor

Sql Server-arbetsbelastningar med höga prestanda behöver ofta större mängder minne, IOPS och dataflöde utan de högre antalet virtuella kärnor.

De flesta OLTP-arbetsbelastningar är programdatabaser som drivs av ett stort antal mindre transaktioner. Med OLTP-arbetsbelastningar läses eller ändras bara en liten mängd data, men volymerna av transaktioner som påverkas av antalet användare är betydligt högre. Det är viktigt att ha SQL Server-minnet tillgängligt för cacheplaner, lagra nyligen använda data för prestanda och se till att fysiska läsningar kan läsas in i minnet snabbt.

Dessa OLTP-miljöer behöver högre mängder minne, snabb lagring och den I/O-bandbredd som krävs för att prestera optimalt.

För att upprätthålla den här prestandanivån utan högre SQL Server-licensieringskostnader erbjuder Azure VM-storlekar med begränsade vCPU-antal.

Detta hjälper till att kontrollera licenskostnaderna genom att minska de tillgängliga virtuella kärnorna samtidigt som samma minne, lagring och I/O-bandbredd bibehålls för den överordnade virtuella datorn.

Antalet virtuella processorer kan begränsas till hälften till en fjärdedel av den ursprungliga VM-storleken. Om du minskar antalet virtuella kärnor som är tillgängliga för den virtuella datorn uppnås högre förhållande mellan minne och virtuell kärna, men beräkningskostnaden förblir densamma.

Dessa nya VM-storlekar har ett suffix som anger antalet aktiva vCPU:er för att göra dem enklare att identifiera.

Till exempel behöver M64-32ms endast licensiera 32 virtuella SQL Server-kärnor, men har samma minnes-, I/O- och dataflödeskapacitet som M64ms, och M64-16ms kräver licensiering av endast 16 virtuella kärnor. Även om M64-16ms har en fjärdedel av SQL Server-licenskostnaden för M64ms, är beräkningskostnaden för de virtuella datorerna densamma.

Obs

  • Mellanstora till stora arbetsbelastningar för informationslager kan fortfarande dra nytta av begränsade virtuella kärnor, men arbetsbelastningar i informationslagret kännetecknas ofta av färre användare och processer som hanterar större mängder data via frågeplaner som körs parallellt.
  • Beräkningskostnaden, som omfattar licensiering av operativsystem, förblir densamma som den överordnade virtuella datorn.

Supportförmåga

Tänk på följande begränsningar när du installerar SQL Server på virtuella Azure-datorer:

  • VMSS- (Azure Virtual Machine Scale Sets) stöds inte med SQL Server på virtuella Azure-datorer. Om du bestämmer dig för att använda VMSS med din SQL Server på en virtuell Azure-dator mot den här rekommendationen och aktiverar funktionen Automatisk gästkorrigering, som ersätter OS-disken när en ny avbildningsversion släpps, kommer du sannolikt att störa SQL Server, vilket leder till potentiell skada, dataförlust och tillgänglighetsproblem.
  • SQL Server stöds inte på system med fler än 64 virtuella kärnor per NUMA-nod. Inaktivera SMT för att använda SQL Server på Azure-virtuella datorer där antalet vCores per NUMA-nod överskrider 64.
  • SQL Server stöder för närvarande diskar med en standardbaserad sektorstorlekar på 512 byte och 4 KB. Installation av SQL Server på diskar med sektorstorlekar på 8 KB stöds inte och kan leda till installationsfelsamt prestandaförsämring från feljusterade I/O-.
  • SQL Server på Azure-VM-avbildningar går inte att distribuera i VM-storlekar som har odistribuerade temporära diskar. För att lära dig mer, granska Vissa SQL Server-avbildningar på Azure-virtuella datorer misslyckas med att distribueras.

Mer information finns i de andra artiklarna i den här serien med metodtips: