sql >> Database >  >> RDS >> Sqlserver

Ontwikkelingen van Azure Virtual Machine voor gebruik van SQL Server

Microsoft heeft een groot aantal verschillende reeksen en formaten van virtuele Azure-machines beschikbaar als u geïnteresseerd bent in het gebruik van hun IaaS-optie (Infrastructure as a Service) voor het hosten van SQL Server-instanties. Een eerste beslissing die u moet nemen, is welke serie en grootte van Azure VM u wilt gebruiken voor uw specifieke SQL Server-workload.

Voor on-premises SQL Server-gebruik wilt u een zorgvuldige analyse maken van uw werkbelasting en de beschikbare servermodellen en processormodellen om een ​​server te krijgen met de juiste processorkeuze om uw SQL Server-licentiekosten te minimaliseren en de beste prestaties en capaciteit mogelijk tegen een bepaalde SQL Server-licentiekost. Het prijs- en prestatieverschil tussen een goede processorkeuze en een slechte processorkeuze kan behoorlijk dramatisch zijn.

Met een Azure-VM moet u een vergelijkbare analyse uitvoeren, maar om enigszins andere redenen. De licentiekosten van SQL Server op een Azure-VM zijn rechtstreeks gerelateerd aan het aantal kernen in de VM. U wilt een VM-grootte kiezen die overeenkomt met uw verwachte behoeften voor CPU-prestaties en -capaciteit, geheugencapaciteit en opslagprestaties.

In tegenstelling tot een on-premise scenario, heb je veel minder controle over de daadwerkelijke processorkeuze in de onderliggende hostmachine. Met een Azure-VM kiest u een bepaalde machinereeks (zoals een GS-reeks) en grootte in een bepaald Azure Data Center, en dan krijgt u de processor die Microsoft gebruikt voor die reeks en grootte in dat Azure Data Center. Microsoft heeft momenteel 42 verschillende regio's met Azure Data Centers, dus u kunt de matrix op deze pagina gebruiken om te ontdekken welke VM-series in elke regio worden aangeboden.

Azure Compute Unit (ACU)

Een zeer belangrijk concept om te begrijpen bij het vergelijken en selecteren van een Azure VM-SKU is de Azure Compute Unit (ACU), waarmee u de rekenprestaties (per core vCPU-prestaties) kunt vergelijken tussen verschillende Azure VM-SKU's. Deze ACU-meting is momenteel gestandaardiseerd op een kleine (Standard_A1) VM met een score van 100 en alle andere Azure SKU's hebben dan ACU-scores die ongeveer aangeven hoeveel sneller die bepaalde Azure SKU een standaard CPU-benchmark kan uitvoeren. Een Standard_A1 heeft bijvoorbeeld een ACU/vCPU-score van 100, terwijl een Standard_GS5 een ACU/vCPU-score van 240 heeft.

Als u naar de ACU-score voor een Azure VM-SKU kijkt, krijgt u een goed idee van de single-threaded CPU-prestaties van de processor die wordt gebruikt in de onderliggende hostmachine. Het is ook belangrijk om te weten of die specifieke processor Intel Turbo Boost en/of Intel Hyper-Threading ondersteunt, aangezien niet alle processors die in de verschillende Azure VM-SKU's worden gebruikt, deze technologieën ondersteunen.

U kunt dit doen door de werkelijke host-CPU in uw VM te identificeren op de CPU-pagina van het tabblad Prestaties van Windows Taakbeheer of door een hulpprogramma zoals CPU-Z te gebruiken. Zodra u het exacte processormodel in de host hebt geïdentificeerd, kunt u de online Intel ARK-database gebruiken om de specifieke details over die processor te krijgen.

Nieuwe Azure VM-grootten voor SQL Server

Een veelvoorkomend probleem met Azure VM-sizing voor SQL Server was het feit dat u vaak gedwongen werd een VM-grootte te selecteren die veel meer virtuele CPU-cores had dan u nodig had of wilde om voldoende geheugen en opslagprestaties te hebben om uw workload te ondersteunen. waardoor uw maandelijkse licentiekosten zijn gestegen.

Gelukkig heeft Microsoft onlangs het besluitvormingsproces voor SQL Server een beetje eenvoudiger gemaakt met een nieuwe reeks Azure-VM's die bepaalde VM-grootten gebruiken (DS, ES, GS en MS), maar het aantal vCPU's terugbrengen tot een kwart of de helft van de oorspronkelijke VM-grootte, met behoud van hetzelfde geheugen, dezelfde opslag en I/O-bandbreedte. Deze nieuwe VM-grootten hebben een achtervoegsel dat het aantal actieve vCPU's aangeeft, zodat ze gemakkelijker te identificeren zijn.

Een Standard_DS14v2 Azure VM zou bijvoorbeeld 16 vCPU's, 112 GB RAM hebben en tot 51.200 IOPS of 768 MB/sec sequentiële doorvoer ondersteunen (volgens micro soft). Een nieuwe Standard_DS14-8v2 Azure VM zou slechts 8 vCPU's hebben, met dezelfde geheugencapaciteit en schijfprestaties als de Standard_DS14v2, waardoor uw SQL Server-licentiekosten per jaar met 50% zouden dalen. Beide Azure VM-SKU's zouden dezelfde ACU-score van 160 hebben.

Een enigszins verwarrend probleem met deze nieuwe Azure VM-SKU's is dat de maandelijkse Compute-kosten (inclusief OS-licenties) voor beide SKU's hetzelfde zouden zijn ($ 989,52/maand voor dit voorbeeld). Waar u bespaart, zijn de lagere maandelijkse licentiekosten voor SQL Server.

Wat Microsoft hier in wezen doet, is het uitschakelen van kernen in de VM om uw SQL Server-licentiekosten te verlagen, iets wat u niet mag doen met on-premises SQL Server. Met on-premises SQL Server is het niet toegestaan ​​om processorcores in uw UEFI/BIOS uit te schakelen om uw SQL Server-licentiekosten te verlagen. Zelfs als u kernen in de UEFI/BIOS uitschakelt, moet u nog steeds een licentie voor die kernen voor SQL Server nemen.

Uw Azure VM benchmarken met CPU-Z

Een zeer snelle CPU-benchmark die u op elke machine kunt uitvoeren (fysiek of virtueel, Azure VM of niet) is de ingebouwde CPU-Z-benchmark, die slechts ongeveer 20 seconden in beslag neemt. Ik heb een Standard DS14-8_v2 gemaakt in het South Central US Data Center. Deze VM gebruikte de Intel Xeon E5-2673 v3 Haswell-EP-processor, een 12-coreprocessor met een basiskloksnelheid van 2,4 GHz en een turbokloksnelheid van 3,2 GHz die een speciale, op maat gemaakte processor-SKU lijkt te zijn die staat niet in de Intel Ark-database. Deze processorfamilie is geïntroduceerd in het derde kwartaal van 2014 en is dus al meer dan drie jaar beschikbaar. Op deze specifieke VM zag ik dat Turbo Boost niet werd gebruikt tijdens mijn tests.

Als u naar afbeeldingen 1 tot en met 3 kijkt, ziet u de CPU-Z-benchmarkresultaten voor deze Azure VM, waarbij afbeelding 4 de resultaten zijn voor mijn weliswaar snelle Dell Precision 5520-laptop. Mijn laptop heeft hetzelfde aantal virtuele cores als de Standard DS14-8_v2 Azure VM, maar ik gebruik een veel nieuwere Intel Xeon E3-1505M v6 Kaby Lake-processor met een hogere basiskloksnelheid en betere single-threaded prestaties.

Figuur 1:Taakbeheer van Standard DS14-8_v2 in Zuid-Centraal VS

Figuur 2:CPU-Z CPU-tabblad van standaard DS14-8_v2 in Zuid-Centraal VS

Figuur 3:CPU-Z Bench Tab van Standard DS14-8_v2 in South Central US

Figuur 4:CPU-Z Bench Tab van Glenn's Laptop


  1. De beste manier om geneste case-statementlogica in SQL Server uit te voeren

  2. Hoe Prisma te gebruiken

  3. 10 redenen waarom uw bedrijf Microsoft Access nodig heeft

  4. Een tabel maken in MySQL Workbench met behulp van de GUI