sql >> Database teknologi >  >> RDS >> Sqlserver

Azure Virtual Machine Developments til SQL Server-brug

Microsoft har et stort antal forskellige Azure virtuelle maskine-serier og -størrelser tilgængelige, hvis du er interesseret i at bruge deres infrastruktur som en tjeneste (IaaS) mulighed for at hoste SQL Server-instanser. En første beslutning, du skal tage, er, hvilken serie og størrelse af Azure VM du vil bruge til din specifikke SQL Server-arbejdsbelastning.

For on-premises SQL Server-brug ønsker du at lave nogle omhyggelige analyser af din arbejdsbyrde og de tilgængelige servermodeller og processormodeller for at få en server med et passende processorvalg til at minimere dine SQL Server-licensomkostninger og få den bedste ydeevne og kapacitet mulig til en given SQL Server-licenspris. Omkostnings- og ydeevneforskellen mellem et godt processorvalg og et dårligt processorvalg kan være ret dramatisk.

Med en Azure VM skal du lave en lignende analyse, men af ​​lidt andre årsager. Licensomkostningerne for SQL Server på en Azure VM er direkte relateret til antallet af kerner i VM'en. Du vil vælge en VM-størrelse, der matcher dine forventede behov for CPU-ydeevne og -kapacitet, hukommelseskapacitet og lagerydeevne.

I modsætning til et on-premise-scenarie vil du have meget mindre kontrol over det faktiske processorvalg i den underliggende værtsmaskine. Med en Azure VM vælger du en bestemt maskinserie (såsom en GS-serie) og størrelse i et bestemt Azure Data Center, og så får du den processor, Microsoft bruger til den serie og størrelse i det Azure Data Center. Microsoft har i øjeblikket 42 forskellige regioner, der har Azure Data Centers, så du kan bruge matrixen vist på denne side til at finde ud af, hvilke VM-serier der tilbydes i hver region.

Azure Compute Unit (ACU)

Et meget vigtigt koncept at forstå, når du sammenligner og vælger en Azure VM SKU, er Azure Compute Unit (ACU), som lader dig sammenligne computerydelsen (per core vCPU-ydeevne) på tværs af forskellige Azure VM SKU'er. Denne ACU-måling er i øjeblikket standardiseret på en lille (Standard_A1) VM med en score på 100, og alle andre Azure SKU'er har derefter ACU-scores, der repræsenterer omtrent hvor meget hurtigere den pågældende Azure SKU kan køre en standard CPU-benchmark. Så for eksempel har en Standard_A1 en ACU/vCPU-score på 100, mens en Standard_GS5 har en ACU/vCPU-score på 240.

Hvis du ser på ACU-score for en Azure VM SKU, får du en anstændig idé om den enkelt-trådede CPU-ydeevne for den processor, der bruges i den underliggende værtsmaskine. Det er også vigtigt at forstå, om den pågældende processor understøtter Intel Turbo Boost og/eller Intel Hyper-Threading, da ikke alle processorer, der bruges i de forskellige Azure VM SKU'er, understøtter disse teknologier.

Du kan gøre dette ved at identificere den faktiske værts-CPU i din VM på CPU-siden på fanen Ydelse i Windows Task Manager eller ved at bruge et hjælpeprogram som CPU-Z. Når du har identificeret den nøjagtige processormodel i værten, kan du bruge online Intel ARK-databasen til at få de specifikke detaljer om den pågældende processor.

Nye Azure VM-størrelser til SQL Server

Et almindeligt problem med Azure VM-størrelse til SQL Server har været det faktum, at du ofte blev tvunget til at vælge en VM-størrelse, der havde langt flere virtuelle CPU-kerner, end du havde brug for eller ønskede for at have nok hukommelse og lagerydeevne til at understøtte din arbejdsbyrde, hvilket øgede dine månedlige licensomkostninger.

Heldigvis har Microsoft for nylig gjort beslutningsprocessen lidt lettere for SQL Server med en ny serie af Azure VM'er, der bruger nogle bestemte VM-størrelser (DS, ES, GS og MS), men reducerer vCPU-antallet til en fjerdedel eller halvdelen af den originale VM-størrelse, mens den samme hukommelse, lager og I/O-båndbredde bevares. Disse nye VM-størrelser har et suffiks, der angiver antallet af aktive vCPU'er for at gøre dem nemmere at identificere.

For eksempel ville en Standard_DS14v2 Azure VM have 16 vCPU'er, 112 GB RAM og understøtte op til 51.200 IOPS eller 768 MB/sek. sekventiel gennemstrømning (ifølge Microsoft). En ny Standard_DS14-8v2 Azure VM ville kun have 8 vCPU'er med samme hukommelseskapacitet og diskydeevne som Standard_DS14v2, hvilket ville reducere dine SQL Server-licensomkostninger om året med 50 %. Begge disse Azure VM SKU'er ville have den samme ACU-score på 160.

Et noget forvirrende problem med disse nye Azure VM SKU'er er, at de månedlige Compute-omkostninger (som inkluderer OS-licenser) for begge disse SKU'er ville være de samme ($989,52/måned for dette eksempel). Der, hvor du sparer, er de reducerede månedlige licensomkostninger for SQL Server.

I bund og grund, hvad Microsoft gør her, er at deaktivere kerner i VM'en for at reducere dine SQL Server-licensomkostninger, hvilket er noget, du ikke må gøre med SQL Server på stedet. Med on-premises SQL Server har du ikke tilladelse til at deaktivere processorkerner i dit UEFI/BIOS for at reducere dine SQL Server-licensomkostninger. Selvom du deaktiverer kerner i UEFI/BIOS, er du stadig forpligtet til at licensere disse kerner til SQL Server.

Benchmarking af din Azure VM med CPU-Z

Et meget hurtigt CPU-benchmark, du kan køre på enhver maskine (fysisk eller virtuel, Azure VM eller ej) er det indbyggede CPU-Z-benchmark, som kun tager omkring 20 sekunder at fuldføre. Jeg oprettede en Standard DS14-8_v2 i South Central US Data Center. Denne VM brugte Intel Xeon E5-2673 v3 Haswell-EP-processoren, som er en 12-kernet processor med en basis clock-hastighed på 2,4 GHz og en Turbo clock-hastighed på 3,2 GHz, der ser ud til at være en speciel skræddersyet processor SKU, der er ikke i Intel Ark-databasen. Denne processorfamilie blev introduceret i tredje kvartal af 2014, så den har været tilgængelig i over tre år. På denne særlige VM så jeg ikke Turbo Boost blive brugt under min test.

Ser du på figur 1 til 3, kan du se CPU-Z benchmark-resultaterne for denne Azure VM, hvor figur 4 er resultaterne for min ganske vist hurtige Dell Precision 5520 bærbare computer. Min bærbare computer har det samme antal virtuelle kerner som Standard DS14-8_v2 Azure VM, men jeg bruger en meget nyere Intel Xeon E3-1505M v6 Kaby Lake-processor med en højere base clock-hastighed og bedre enkelttrådet ydeevne.

Figur 1:Task Manager fra Standard DS14-8_v2 i det sydlige centrale USA

Figur 2:CPU-Z CPU-faneblad fra Standard DS14-8_v2 i det sydlige centrale USA

Figur 3:CPU-Z Bench Tab fra Standard DS14-8_v2 i det sydlige centrale USA

Figur 4:CPU-Z Bench Tab fra Glenns bærbare computer


  1. DBCC_OBJECT_METADATA-låsen

  2. Opdater tællekolonne fra data i en anden tabel

  3. Er der et ANSI SQL-alternativ til søgeordet MYSQL LIMIT?

  4. Hvad skal du gøre, hvis du ikke kan åbne delt objektfil-fejl, når du bruger OCI-versionen af ​​Easysoft Oracle ODBC-driveren?