Brug af SQL Server 2008 i et Hyper-V-miljø



Relaterede dokumenter
\ \ Computerens Anatomi / /

Ydeevne og kapacitet. Indholdsfortegnelse

Symantec Enterprise Vault

Sikkerhedskopiering og gendannelse Brugervejledning

Der er god forretning i mindre og mellemstore virksomheder

Computerens Anatomi. Kom/IT C - Computer Anatomi - Daniel og Fie - 3/ Planlægning af kommunikationsvalg og medieprodukt.

Valg af Hostingløsning

Projektoplæg - AMU kursus Netteknik - Server - Videregående

Windows Vista /Windows 7 Installationsvejledning

AR-M230/M270 serier Online-manual Netværk udskrivningsløsning

Velkommen på kursus hos Microworld

Symantec Enterprise Vault

Har det en værdi og hvordan kommer du i gang?

Netværkslicens, Læs mig

Hyper-V på Windows 8 64 Bit. Indhold. Vejledning i brug af Hyper-V på en Windows 8 maskine

PERFORMANCE DokumentBrokeren

Manualen beskriver brugen af SecureAware version og senere versioner Dokument opdateret: June 2015

Sikkerhedskopiering og gendannelse Brugervejledning

NEMT OG EFFEKTIVT - Ejendomsadministration

Erfaringer med Information Management. Charlottehaven Jens Nørgaard, NNIT A/S

// Mamut Business Software Installationsguide: Basis

Hosted løsning Hosted produkter Dedikeret server hosting Virtuel server hosting Shared Office hosting... 7

Windows Vista /Windows 7 Installationsvejledning

Agenda. Muligheder for anvendelse. Komponenter. Features. Restore muligheder. DR og TSM integration. Repository. Demo. Spørgsmål

IT Support Guide. Installation af netværksprinter (direkte IP print)

Modul 8: Clouds (Lagring af filer)

Contents. ESXi installation og basisk konfiguration

START FINDES DER EN LØSNING TIL MIN VIRKSOMHED HOS HANS TØRSLEFF MANAGEMENT SYSTEMS? Har du brug for et enkelt system til timeregistrering?

Computerens Anatomi. Af Martin Arnetoft

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Følgende versioner af Windows-operativsystemet understøtter Novell Filr Desktop-programmet:

NSi Output Manager Hyppigt stillede spørgsmål. Version 3.2

PCSYS Label Print Server. Labeludskrift på fælles platform til alle virksomhedens printere.

Sikkerhedskopiering og gendannelse

Microsoft Dynamics CRM 2013

Backup og gendannelse

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Installation, håndtering og opdatering af Windows Server med System Center

Standardserverkonfiguration i Statens It s standarddriftsplatform. Aftalekompleksets bilag 11 Statens It s standarddriftsplatform Underbilag B

1 Nyheder i Filr 2.0 Desktop-programmet

Datatekniker med infrastruktur som speciale

OpenTele Server Performance Test Rapport

Sikkerhedskopiering og gendannelse Brugervejledning

AvigilonBrugervejledning til Control Center Server. Version 6.0

VMware og dopsys-linux

Projekt: VAX Integrator

Kommunal Rottebekæmpelse tal og tendenser

Projekt: VAX NemHandel 4.0

Database optimering - Indeks

HASP-fejlfindingsvejledning

Memory Stick Duo ExpressCard Adaptor

CD-DIRECT Installationsvejledning

Installér din Officepakke 2013

Civilstyrelsen. Lex Dania editor Eunomia. Installationsvejledning. Version:

ThinkVantage Fingerprint Software

KRAV TIL INFRASTRUKTUR

Best Practices: I/O-konfiguration. Thomas Damgaard, Chefkonsulent, SAS Institute

as a Service Dynamisk infrastruktur

0KAPITEL 5: DOKUMENTGODKENDELSE OPSÆTNINGSVEJLEDNING

CPU i7 2.2 GHz 4 kerner i5-4210u 1,7 GHz 2 kerner, 4 logiske kerner GPU integreret Nvidia GeForce 820M Ram 8GB 6 GB Harddisk HDD HDD

Produktspecifikationer Private Cloud Version 2.7

Wii Software Modificering. Uber Guide

Computerens Anatomi KOM/IT

VPN-klienten SecureClient for TDC Managed Firewall

Interconnect. Front end interface

- så er livet lidt lettere!

BRUGERMANUAL. easyweather pc software

18 Multivejstræer og B-træer.

Når alt er hentet Virtual Box, installerer du Virtual Box. Start derefter programmet og følgende skærm vil fremtone:

Globeteam A/S. Windows Server Globeteam Virumgårdsvej 17A 2830 Virum. SolutionsDay 2012, den 27. September, Brøndby Stadion

Mindstekrav til udstyr (fase 1) Løsningsbeskrivelse

Her ser i hvorledes man nemt kan installere en række nyttige programmer, uden at få andet end selv programmet installeret. på

KORT VEJLEDNING TIL. Installation af Nokia Connectivity Cable Drivers

Installationsvejledning af ØS LDV

Onlinemanual. Start Klik på knappen "Start".

Sikkerhed. Brugervejledning

Disk-vedligeholdelse i Windows 10 - juli 2017

IBM Storwize - IBM har med deres nyeste SAN rykket grænsen for, hvad et midrange storage system skal kunne levere.

PID2000 Archive Service

Microsoft Windows 7 / Vista / XP / 2000 / Home Server. Startvejledning

OS Update. Program. Brugsvejledning. (ClassPad OS version 3.03)

Installation af en virtuel maskine

Deling af anonyme data med Lenovo

Projektopgave Operativsystemer I

MobileCTI Dialer Installations og konfigurations vejledning

Database "opbygning"

Kompromisløs sikkerhed til alle virtuelle miljøer

Wii Software Modificering. Uber Guide

Introduktion til billedbehandling med IrfanView

Installationsguide til SAP Business One 2005 SP1 (SBO 2005)

Safe Work Space service beskrivelse. Microsoft Windows version. Version (Maj 2018)

Copyright 2009 Q-DAS. Metrologic Hørsholm. Hotline: Systemkrav. Udgave

Sider og segmenter. dopsys 1

Generelt gælder det at SQL serveren skal understøtte SQL Authentication (Mixed mode) da SIMS Serveren kommunikerer gennem en SQL bruger.

9. KONKLUSION

- så er livet lidt lettere!

KAPITEL 8: OPRETTELSE OG ADMINISTRATION AF DOKUMENTGODKENDELSE

Principper for Samtidighed og Styresystemer

RAID. Brugervejledning

Routeren. - og lag 3 switchen! Netteknik 1

Transkript:

Brug af SQL Server 2008 i et Hyper-V-miljø Best practices og overvejelser i forbindelse med ydeevne SQL Server - teknisk artikel Forfattere: Lindsey Allen, Mike Ruthruff, Prem Mehra Tekniske korrekturlæsere: Cindy Gross, Burzin Petal, Denny Lee, Michael Thomassy, Sanjay Mishra, Savitha Padmanabhan, Tony Voellm, Bob Ward Udgivet: Oktober 2008 Gælder for: SQL Server 2008 Resumé: Hyper-V i Windows Server 2008 er en effektiv virtualiseringsteknologi, der kan bruges til at konsolidere underudnyttede servere og på denne måde sænke TCO og bibeholde eller forbedre serviceniveauet. Gennem en række SQL Server-testscenarier indeholder dette dokument anbefalinger til best practices ved brug af SQL Server i Windows Hyper-V-miljøer.

Ophavsret Oplysningerne i dette dokument repræsenterer Microsoft Corporations syn på de problemer, der diskuteres, på udgivelsesdagen. Da Microsoft må forholde sig til ændringer i markedet, skal det ikke opfattes som en forpligtelse fra Microsofts side, ligesom Microsoft ikke kan garantere for nøjagtigheden af oplysninger, som måtte komme frem efter udgivelsesdagen. Formålet med denne hvidbog er udelukkende at informere. MICROSOFT GIVER INGEN GARANTI, DET VÆRE SIG UDTRYKKELIG, STILTIENDE ELLER LOVMÆSSIG, FOR INDHOLDET I DETTE DOKUMENT. Det påhviler brugeren at overholde alle gældende regler om ophavsret. I henhold til gældende regler for ophavsret, må ingen dele af dette dokument gengives, lagres eller indføres i et arkiv, sendes i nogen form eller på nogen måde (elektronisk, mekanisk, ved kopiering, optagelse eller på anden måde), eller anvendes til noget formål, uden skriftlig tilladelse fra Microsoft Corporation. Microsoft kan have patenter, patentansøgninger, varemærker, ophavsrettigheder eller andre immaterielle rettigheder, som omfatter indholdet i dette dokument. Medmindre det specifikt er angivet i en trykt licensaftale fra Microsoft, giver dette dokument ikke ihændehaveren licens til disse patenter, varemærker, ophavsrettigheder eller andre immaterielle rettigheder. Medmindre andet er anført, er alle eksempler på virksomheder, organisationer, produkter, domænenavne, e-mail-adresser, logoer, personer, steder eller begivenheder beskrevet i dette dokument opdigtede og ingen tilknytning til eksisterende virksomheder, organisationer, produkter, domænenavne, e-mail-adresser, logoer, personer, steder eller begivenheder er tiltænkt eller skal udledes heraf. 2008 Microsoft Corporation. Alle rettigheder forbeholdes. Microsoft, Hyper-V, SQL Server, Windows og Windows Server er varemærker tilhørende gruppen af virksomheder under Microsoft. Alle andre varemærker tilhører deres respektive ejere.

Indhold Introduktion...4 Opsætning og konfiguration af Hyper V konfigurationer...4 Checkliste og overvejelser før installation af Hyper V...4 Lagringskonfiguration anbefalinger...5 Testmetodologi og belastninger... 6 Testbelastninger...6 Overvågning af SQL Server på Hyper V konfigurationer...8 Testresultater, observationer og anbefalinger...11 Ydelsesoverhead ved brug af SQL Server i Hyper V...11 I/O overhead for passthrough diske SQLIO...11 Ydelsesoverhead virtuel maskine: OLTP belastning...13 Ydelsessammenligning for rapporteringsanmodning...17 Databasehandlinger...18 SQL Server konsolideringsscenarier ved brug af Hyper V...22 Sammenligning af lagringskonfigurationer i konsolideringsmiljø...23 Skalerbarhed af virtuelle forekomster...25 Ydeevne for virtuel forekomst med overallokerede CPU ressourcer...27 Sammenligning af konsolideringsmuligheder...28 Konklusion...29 Observationer:...29 Anbefalinger:...30 Yderligere oplysninger...31 Appendiks 1: Hyper V arkitektur...32 Appendiks 2 Hardwarekrav...35 Hukommelse...35 Processorer...35 Netværk...36 Lagring...36 Appendiks 3 Hardwarekonfiguration... 37

Introduktion Hyper-V -virtualiseringsfunktionen i Windows Server 2008-operativsystemet er baseret på hypervisor-teknologi og er et tyndt lag software mellem hardwaren og operativsystemet, der giver mulighed for samtidig kørsel af flere uændrede operativsystemer på en værtcomputer. Hyper-V er en effektiv virtualiseringsteknologi, som kan bruges til at konsolidere underudnyttede servere og på denne måde sænke TCO og fastholde eller forbedre serviceniveauet. Hyper-V muliggør flere typer af udviklings- og testmiljøer, der ellers formentlig ville være blevet begrænset af den tilgængelige hardware. Det er en udfordring i sig selv at finde den rette hardware til konsolidering af aktuelle belastninger og samtidig skabe rum til vækst. Hvis man tilføjer virtualisering, bliver kapacitetsplanlægningen mere besværlig. Formålet med dette dokument er at sætte fokus på ovenstående via to hovedområder i forbindelse med brug af Microsoft SQL Server i et Hyper-V-miljø: Systemressourceoverhead ved brug af SQL Server i et Hyper-V-miljø Hyper-V's skalerbarhed i SQL Server 2008 Denne hvidbog indeholder en beskrivelse af en række kørte testkonfigurationer. De repræsenterede flere forskellige scenarier med brug af SQL Server i Hyper-V. Dokumentet indeholder en diskussion af vores resultater og observationer samt vores anbefalinger. Vores testresultater viste, at SQL Server 2008 på Hyper-V giver stabil ydeevne og skalerbarhed. Vi mener, at Windows Server 2008 Hyper-V er en solid platform til SQL Server 2008 ved den rette belastning. Det er nyttigt at køre produktionsmiljøer i et Hyper-V-miljø, så længe belastningen er inden for den virtuelle Hyper-V-gæstemaskines kapacitet. Opsætning og konfiguration af Hyper-V-konfigurationer Dette afsnit indeholder en forenklet installationscheckliste for Hyper-V. Du kan finde flere oplysninger om Hyper-V i de øvrige hvidbøger, der nævnes i slutningen af denne hvidbog, og i Appendiks 3, som indeholder en beskrivelse af den hardware, vi brugte til test. Checkliste og overvejelser før installation af Hyper-V Brug en serverprocessor, som understøtter hardwareassisteret virtualisering. Der findes to mulige: o Inter VT o AMD virtualization (AMD-V) Kontroller, at hardwareassisteret virtualisering og DEP (Data Execution Prevention) er til stede og aktiverede. (Dette kontrolleres i BIOS-opsætningen).

Kør Hyper-V-serverrollen udelukkende på rodpartitionen for Windows operativsystemet. Indstil alle diske, der skal konfigureres som passthrough-diske for den virtuelle gæstemaskine, til offline i rodpartitionen vha. DISKPART eller Diskenhedsstyring. Kontroller, at integrationskomponenterne ("enlightenments") er installeret på den virtuelle gæstemaskine. Brug et netværkskort i stedet for et ældre netværkskort ved konfiguration af netværk for den virtuelle maskine. Undgå om muligt emulerede enheder til SQL Server-implementering. Disse enheder kan forårsage betydeligt højere CPU-overhead sammenlignet med syntetiske enheder. Lagringskonfiguration - anbefalinger Som det er tilfældet i forbindelse med alle SQL Server-implementeringer er korrekt I/O-størrelse og -konfiguration yderst vigtig for ydeevnen. Konfiguration af lagring i virtuelle miljøer er ingen undtagelse, og lagringshardwaren skal give tilstrækkelig I/O-overførselshastighed og lagringskapacitet til at imødekomme kravet fra nuværende og fremtidige behov for de virtuelle maskiner. Sørg for at følge alle best practices for lagring før installation ved konfiguration af lagring. Hyper-V understøtter forskellige typer lagringsindstillinger. Hver af disse lagringsindstillinger kan tilknyttes via en IDE- eller SCSI-controller. I forbindelse med SQL Server-data og -logfiler brugte vi indstillingen til konfiguration af den virtuelle SCSI controller. SQL Server er I/O-intensiv, så vi anbefaler, at du begrænser dine valg til de to bedstydende indstillinger: Passthrough-disk Virtuelle harddiske med fast størrelse (VHD'er) Dynamiske VHD'er anbefales ikke af ydelsesmæssige årsager. Det skyldes, at i forbindelse med dynamisk VHD starter blokkene i disken som nulstillede blokke, men de har ingen faktisk plads i filen. Læsninger fra blokke af denne type returnerer en blok nuller. Første gang, der skrives til en blok, skal virtualiseringsstakken allokere plads i VHD-filen til blokken og derefter opdatere metadataene. Derudover skal bloktilknytningen slås op i metadataene, hver gang der refereres til en eksisterende blok. Det øger både antallet af disk-i/o'er for læse- og skriveaktiviteter samt CPU-forbrug. Den dynamiske vækst kræver også, at serveradministratoren overvåger diskkapaciteten for at sikre, at der er tilstrækkelig diskplads, efterhånden som lagringskravene bliver større. VHD'er med fast størrelse kan udvides efter behov, men det kræver, at den virtuelle gæstemaskine lukkes ned. Vi brugte både konfigurationer med passthrough og VHD med fast størrelse i testscenarierne i dette dokument. I alle konfigurationer brugte vi syntetiske SCSI-controllere til de virtuelle gæstemaskiner. Du kan finde flere oplysninger om den hardware, vi brugte til test, i Appendiks 3. (Bemærk!: Syntetisk IDE blev ikke testet).

Testmetodologi og belastninger Vi valgte en række testscenarier for at fastlægge best practices og overvejelser i forbindelse med ydeevne ved brug af SQL Server 2008-programmer i et Hyper-V-miljø. Vores første sæt testscenarier er designet, så de giver en forståelse af ydelsesoverhead i det oprindelige miljø vs. et miljø med en virtuel Hyper-V-gæstemaskine. Det andet sæt testscenarier er designet, så de giver en forståelse af skalering af en virtuel gæstemaskine på én værtsserver. Testbelastninger Der blev brugt flere forskellige belastninger til at måle ydeevnen i de forskellige scenarier. I denne hvidbog henviser oprindelig til en Windows-installation uden Hyper-V. rod henviser til den overordnede partition i en Windows Hyper-V-konfiguration med Hyper-V aktiveret, og virtuel gæstemaskine henviser til den virtuelle gæstemaskine, der er hostet på rodpartitionen (eller den overordnede partition) i Windows. Hovedformålet i disse scenarier er følgende: Sammenligning af ydeevnen for SQL Server på roden vs. på en virtuel gæstemaskine. Sammenligning af ydeevnen for flere SQL Server-forekomster i en oprindelig Windows-forekomst med SQL Server med enkeltforekomster på flere virtuelle gæstemaskiner. Observation af skalerbarheden i SQL Server-belastningsoverførselshastigheden, efterhånden som antallet af virtuelle gæstemaskiner på en enkelt rodpartition forøges. Følgende tabel indeholder en beskrivelse af de belastninger, der er brugt i denne test, deres kendetegn og målscenarier. Tabel 1: Belastninger og scenarier Belastning Generelle kendetegn Målscenarier SQLIO Genererer IO-belastning Sammenligning af I/O-ydelsen på oprindelig maskine vs. virtuel gæstemaskine. OLTP-belastning OLTP-typebelastningen simulerer et kundeorienteret børsmæglerprogram. Du kan finde flere oplysninger om hardwarekonfiguration i Appendiks 3. Sammenligning af belastningsydelsen mellem oprindelig, rod og virtuel gæstemaskine. Sammenligning af flere SQL Server-forekomster på en oprindelig Windowsforekomst vs. flere virtuelle gæstemaskiner, som hver kører en enkelt SQL Server-forekomst.

Skalering af belastningsoverførselshastig hed, efterhånden som antallet af gæster øges. Rapporteringsbelastning Rapporteringsforespørgsler, som optager meget CPU og mange I/O-ressourcer. Sammenligning af rapporteringsforespørgselsyd elsen mellem oprindelig, rod og virtuel gæstemaskine. SQL Serverdriftsbelastning Sikkerhedskopiering/gendannelse, indeksgendannelse, DBCC CHECKDB. Sammenligning af ydelsen for databasehandlinger mellem oprindelig, rod og virtuel gæstemaskine. Følgende liste indeholder flere detaljerede oplysninger om scenarierne for hver enkelt kørt belastning: SQLIO-test: SQLIO er et værktøj til bestemmelse af I/O-kapaciteten for en given konfiguration. Dette testscenarie er designet til at bestemme I/O-overhead ved kørsel af en virtuel gæstemaskine vha. passthrough-diske til lagringskonfiguration. OLTP-belastning. Dette testscenarie: o Sammenligner ydeevnen for SQL Server, der kører oprindeligt på Windows, med ydeevnen ved kørsel på en virtuel gæstemaskine. I forbindelse med denne sammenligning blev både den oprindelige forekomst og den virtuelle gæstemaskine konfigureret med ens hardwarekonfigurationer. o Sammenligner SQL Server-ydelsen ved brug af flere forskellige lagringskonfigurationer for data og logfiler. Sammenligninger konfiguration af passthrough-diske vs. VHD-konfigurationer samt forskellige underliggende lagringsmatrixkonfigurationer (dvs. delte vs. dedikerede lagringskonfigurationer). o Sammenligner ydeevnen for flere SQL Server-forekomster, der kører oprindeligt på Windows, med et tilsvarende antal virtuelle gæstemaskiner, som hver er konfigureret med en enkelt SQL Server-forekomst. o Observerer belastningsskalerbarheden, efterhånden som der føjes flere virtuelle gæstemaskiner til rodpartitionen for en enkelt fysisk server. I dette tilfælde observerede vi tilfælde, hvor: Antallet af fysiske CPU-kerner var lig med summen af de logiske CPU-kerner for alle virtuelle gæstemaskiner. Antallet af fysiske CPU-kerner var mindre end summen af alle logiske CPU-kerner på tværs af alle virtuelle gæstemaskiner (betegnes også som CPU-ressourcer, der "overallokeres"). Rapporteringsbelastning: I dette scenarie sammenlignes ydeevnen for SQL Server, der kører oprindeligt på Windows, med SQL Server-ydelsen på en virtuel gæstemaskine med en tilsvarende hardwarekonfiguration.

Databasehandlinger: I dette scenarie sammenlignes ydeevnen for SQL Server, der kører oprindeligt på Windows, med SQL Server-ydelsen på en virtuel gæstemaskine med en tilsvarende hardwarekonfiguration. I forbindelse med de scenarier, hvor der blev brugt OLTP-belastning, blev der brugt flere forskellige belastningsniveauer for at se, hvad der skete under forskellige CPU-niveauer. Du kan finde flere oplysninger om de forskellige belastningsniveauer senere i denne hvidbog. Overvågning af SQL Server på Hyper-V-konfigurationer Du skal tage højde for flere ting, når du overvåger ydeevnen for SQL Server-belastninger i Hyper-V-konfigurationer vha. Windows Systemovervågning (ofte kaldet perfmon). For at få et reelt billede af ressourceforbruget er det nødvendigt at bruge Hyper-V-tællere, der vises af Windows i rodpartitionen. Dette dokument indeholder ikke en dybtgående diskussion af Hyper- V-overvågning. Du kan finde flere oplysninger i Appendiks 3. I løbet af denne test fandt vi frem til flere ting i forbindelse med overvågning af ydeevnen. De fleste resultater er relateret til måling af CPU-forbrug. Ved overvågning af CPU-udnyttelse på en server med Hyper-V skal du bruge Hyper-V-processortællere, der vises i rodpartitionen. Hyper- V viser tre primære tællere, der relaterer til CPU-udnyttelse: Hyper-V Hypervisor Logical Processor: Giver den mest nøjagtige måling af samlet forbrug af CPU-ressourcer på tværs af hele den fysiske server. Hyper-V Hypervisor Root Virtual Processor: Giver den mest nøjagtige måling af CPU-ressourcer forbrugt af rodpartitionen. Hyper-V Hypervisor Virtual Processor: Giver den mest nøjagtige måling af CPU-forbruget for de specifikke virtuelle gæstemaskiner. De traditionelle % Processortid-tællere kan overvåges inde fra rodpartitionen, men fordi der findes virtualiseringslag, som ikke vises for disse processortællere, afspejler de muligvis ikke det nøjagtige CPU-ressourceforbrug. Når du overvåger ydeevnen, skal du måle CPU-forbrug vha. Hyper-V-tællere på en server, der kører Hyper-V-rollen med hypervisor aktiveret. Du kan finde flere oplysninger i Tony Voellms blog om overvågning af Hyper-V-ydeevnen. Figur 1 illustrerer disse tællere. I dette billede overvåges det øverste sæt tællere (\\SQLBP08R900) på rodpartitionen, og det nederste sæt (\\sqlhv1) overvåges fra gæsten. Husk, at der i dette eksempel er 16 fysiske CPU-kerner, som er synlige for rodpartitionen, og fire logiske CPUkerner, som er synlige for den virtuelle gæstemaskine. Bemærk også, at selvom der kørte to virtuelle gæstemaskiner på roden, er der kun plads til at vise den ene på billedet. De fire logiske processortællere for den anden virtuelle maskine fortsætter til højre på billedet.

Figur 1: Hyper V perfmon tællere Du kan finde flere oplysninger om overvågning og disse specifikke emner i virtualiseringsafsnittet i retningslinjerne for tilpasning af ydeevnen ifm. Windows 2008 og i bloggene om Hyper-V-ydelsestællere. I forbindelse med overvågning af SQL Server er der ikke noget specielt, der skal tages højde for ved kørsel på en virtuel gæstemaskine. SQL Server-tællere er generelt enten en måling af forbruget (SQL Server-specifikke ressourcer) eller overførselshastigheden. Derudover vises SQL Server-tællere ikke for rodpartitionen, når de kører på en virtuel gæstemaskine. De skal overvåges inde fra den virtuelle gæstemaskine. Måling af I/O-ydelsen er forskellig alt efter, hvordan gæstelagringen er konfigureret. Ventetid er en måling af den tid, der er gået, og den kan måles rimeligt nøjagtigt fra roden eller fra gæsten. Her følger nogle generelle overvejelser i forbindelse med overvågning af diskydelse: Du kan enten bruge de logiske disktællere eller de fysiske disktællere på den virtuelle gæstemaskine til overvågning af I/O-ydeevnen. Vi så kun en meget lille forskel mellem de værdier, der blev rapporteret fra tællerne fra rodpartitionen, og de værdier, der blev rapporteret fra den virtuelle gæstemaskine. Vi noterede dog en smule højere ventetidsværdier (gnsn. disk/sek. læs og skriv), når vi overvågede fra den virtuelle gæstemaskine, end når vi overvågede fra roden. Det skyldes, at I/O kan bruge en smule mere tid på fuldførelse fra den virtuelle maskines perspektiv. Hvis lagringen for den virtuelle gæstemaskine er konfigureret som passthrough, er disken offline på rodpartitionsniveau og bliver ikke vist under de logiske disktællere i rodpartitionen. Hvis du vil overvåge ydeevnen for passthrough-diske på rodpartitionen, skal du bruge de fysiske disktællere. På testtidspunktet var der kendte problemer i de fysiske disktællere i Windows Server 2008 ved brug af multi-pathing-løsninger. Problemerne er blevet løst i seneste GDR for System Center Virtual Machine Manager.

Hvis virtuelle gæstemaskiner er konfigureret til at bruge VHD-filer til lagring, og disse VHD-filer findes på almindelige fysiske diske, vil overvågning af disktællere fra den virtuelle gæstemaskine indeholde oplysninger om I/O for den specifikke VHD. Overvågning af den enhed, som indeholder alle VHD-filer på rodpartitionen, giver samlede værdier for alle I/O, som er udstedt mod disken eller enheden. Tabel 2 viser de tællertyper, der er indsamlet under belastningskørsler for OLTPbelastningsdelen af vores test. Den viser de forskelle, der er rapporteret i ydelsestællere ved overvågning fra den virtuelle gæstemaskine vs. rodpartitionen. Tabel 2: Tællere og belastning Tællere målt fra Virtuel gæstemaskine Rodpartition Tæller Lav OLTPbelastning Mellem OLTPbelastning Høj OLTPbelastning Transaktioner/sek. 352 546 658 Batches/sek. 565 897 1075 % processortid 34,2 65,3 84,2 % rettighedstid 5,1 8 8,4 Logisk Gnsn. Disk sek./læsning (_Total) 0,005 0,006 0,007 Logisk Disklæsning/sek. (_Total) 1053 1597 1880 % processortid 4,9 7,8 11,2 % rettighedstid 3,6 6,1 7,3 Hyper V logisk processor % Hypervisorkørselstid 4 4,8 4,3 Hyper V logisk processor % Samlet kørselstid 39,1 68,7 86,5 Hyper V logisk processor % Kørselstid for virtuel gæstemaskine 35,1 63,9 82,1 Fysisk gnsn. Disk sek./læsning (_Total) 0,005 0,006 0,006 Fysisk Disklæsning/sek. (_Total) 1053 1597 1880 Batches pr. CPU % (Batches/sek. / % Kørselstid for virtuel gæstemaskine) 16,1 14 13,1 Bemærk! Hyper-V-tællere målt i rodpartitionen er en sammenlægning af alle kørende virtuelle gæstemaskiner.

Testresultater, observationer og anbefalinger Dette afsnit indeholder en oversigt over og en analyse af testresultaterne. Derudover indeholder det detaljer om vores anbefalinger og observationer i forbindelse med brug af SQL Server i et virtualiseret miljø. Afsnittet er opdelt i to dele: Første del indeholder en diskussion af det grundlæggende ressourceoverhead, der opstår ved brug af SQL Server i et Hyper-V-miljø, og den anden del indeholder en diskussion af effekten af at konsolidere SQL Server som virtuelle forekomster. Ydelsesoverhead ved brug af SQL Server i Hyper-V Den første gruppe testscenarier blev designet for at give en forståelse af ydelsesoverhead ved brug af SQL Server i et "renset" Hyper-V-miljø. Der blev udført baseline-test på tre måder: i et oprindeligt Windows-miljø med Hyper-V deaktiveret, på rodpartitionen med Hyper-V aktiveret, og på en enkelt virtuel gæstemaskine. Der bruges samme hardwarekonfiguration i alle test. Bemærk! Oprindelig forekomst henviser til en SQL Server-forekomst i et oprindeligt Windowsmiljø, og virtuel forekomst henviser til en SQL Server-forekomst på en virtuel gæstemaskine. Dette afsnit omfatter følgende testscenarier: Bestemmelse af IO-overhead for passthrough-diske vha. SQLIO Sammenligning af OLTP-belastningsydelsen på en enkelt oprindelig forekomst og en virtuel forekomst Sammenligning af ydelsen for rapporteringsforespørgsel i en oprindelig forekomst og i en virtuel forekomst Observation af virtualiseringens indflydelse på almindelige databasehandlinger: o Komprimeret sikkerhedskopiering og gendannelse o Indeksgendannelse o DBCC CHECKDB I/O-overhead for passthrough-diske - SQLIO I/O-overhead var tidligere et problem i virtuelle miljøer. Det kunne sætte en stopper for I/O-intensive programmer som f.eks. SQL Server. Med Hyper-V er teknologien anderledes. For at kaste lys på den bedste situation havde vores første testscenarie fokus på I/O-overhead ved brug af den mest optimerede I/O-konfiguration dedikerede passthrough-diske. Vi valgte en passthrough-diskkonfiguration, fordi den har den korteste kodesti fra vært til I/O-undersystem. I testene blev der allokeret det samme antal fysiske omdrejningsaksler til rodpartitionen og til den virtuelle gæstemaskine. Gennem gentagne test af forskellige vilkårlige og fortløbende I/O fandt vi frem til, at I/O-overhead for Hyper-V med brug af passthrough-diske ligger fra ingen til minimal. Du kan finde flere oplysninger, herunder en dybdegående analyse af ydeevnen for passthrough-diske og virtuelle harddiske, i den kommende hvidbog fra Tony Voellm og Liang Yang: "Windows Server 2008 Hyper-V Virtual Hard Disk and Pass-through Disk Performance".

Du kan også finde flere oplysninger om Hyper-V-lagringsydelsesanalyse her (http://blogs.msdn.com/tvoellm/archive/2008/09/24/what hyper v storage is best for you show methe numbers.aspx). Lagringskonfiguration Passthrough-diskkonfigurationen for roden og den virtuelle maskine er identisk. Hver enkelt konfiguration blev præsenteret med LUN'er (logical unit numbers) fra den lagringsmatrix, der brugte samme antal fysiske diskressourcer. Der var ingen deling på diskniveau mellem LUN'er. Der var med andre ord ingen deling af omdrejningsaksler mellem LUN'erne. Figur 2 viser konfigurationen. Figur 2: Lagringskonfiguration passthrough Ydelse ved passthrough-konfiguration Samme SQLIO-test blev kørt på alle virtuelle gæstemaskiner og på roden. Figur 3 og 4 viser testresultaterne for vilkårlige og fortløbende I/O-test med brug af SQLIO. Vi valgte de to almindelige SQL IO-størrelser (8K og 64K) til testscenariet.

Figur 3: Passthrough 8K vilkårlig I/O Figur 4: Passthrough 64K fortløbende I/O Ydelsesoverhead - virtuel maskine: OLTP-belastning Formålet med dette testscenarie var at måle effekten af at køre SQL Server 2008 på en virtuel maskine med en OLTP-belastning, som simulerer et børsmæglerprogram. Du kan finde oplysninger om den anvendte hardwarekonfiguration i Appendiks 3. Vi kørte tre belastningsniveauer mod baseline, roden og den virtuelle gæstemaskine. Baseline kører SQL

Server-forekomsten på den oprindelige server med Hyper-V deaktiveret. Det gøres vha. indstillingen hypervisorlaunchtype off (dvs. bcdedit /set hypervisorlaunchtype off), som kræver genstart af Windows for at fungere. Testscenariernes belastningstærskler blev defineret af CPU-udnyttelsesprocenten. Da en helt mættet CPU ikke er almindeligt forekommende i produktionsmiljøer, brugte vi et CPU-belastningsniveau på mellem 20 % og 80 %. CPU-udnyttelsesmål for hvert belastningsniveau er defineret i Tabel 3. Tabel 3: CP udnyttelsesmål Testbelastning Omtrentligt CPU mål OLTP lav 30 % OLTP mellem 50 % 60 % OLTP høj 80 % Da virtuelle Hyper-V-gæstemaskiner understøtter op til fire logiske processorer, blev værten til sammenligningsformål konfigureret til at bruge fire kerner i BIOS-opsætningen (NUMPROC=4). For at få en forståelse af effekten af lagringskonfigurationen, blev der konfigureret to virtuelle maskiner vha. de to typer Hyper-V-lagringskonfiguration, der anbefales til SQL Serverbelastning (passthrough-diske og faste VHD). Effekt på overførselshastighed og processor Baseline-testene for tre belastningsniveauer blev kørt i et oprindeligt Windows Server 2008- miljø med Hyper-V-rollen deaktiveret. Samme sæt belastninger blev kørt mod rodpartitionen med Hyper-V aktiveret, en virtuel gæstemaskine konfigureret med passthrough-disklagring og derefter en virtuel gæstemaskine med fast VHD-lagring. Tabel 4 viser de relative batchanmodninger pr. CPU % og overhead på tværs af alle test. Systemet skalerede meget godt med alle test i dette scenarie. Alle konfigurationer opnåede samme overførselshastighed, idet den virtuelle maskine pådrog sig en højere CPUomkostning for at opnå samme overførselshastighed. Ydelsen for passthrough-diske og fast VHD var meget ens med mindre end ét procentpoint til forskel på overhead. Tabel 4 viser også CPU-overhead ved kørsel af OLTP-belastningen på den virtuelle maskine. Vi observerede, at overhead som procent var højere ved en lavere belastning. Der er en bestemt mængde fast arbejde og CPU, som er tilknyttet den virtuelle maskine. Hvis dette fordeles over en mindre mængde arbejde, vil overhead som procentdel være større. Vi brugte følgende formel som ydelsesmål: Batch/CPU % = Batchanmodninger/sek. divideret med procentvis CPU-udnyttelse

Tabel 4: CPU overhead for virtuel maskine med OLTP belastninger Batchan m./s Lav Mellem Bred Batch/ CPU% Overhead Batcha nm./s Batch/ CPU% Overhead Batchan m./s Batch/ CPU% Overhead 5 Baseline 1 566 19,2 0,00 % 908 16 0,00% 1069 14,8 0,00 % Rod 2 566 17,5 8,85 % 907 14,8 7,50% 1113 13,5 8,78 % VM_PT 3 565 16,1 16,15 % 897 14 12,50% 1075 13,1 11,49 % VM_VHD 4 563 15,7 18,23 % 876 13,9 13,13% 1029 13,2 10,81 % 1. Baseline: Et oprindeligt Windows Server 2008-miljø med Hyper-V-rollen deaktiveret. Den virtuelle netværksswitch er ikke slået fra. 2. Rodpartition: En rodpartition i Windows Server 2008 med Hyper-V aktiveret. 3. VM_PT: En virtuel gæstemaskine konfigureret med passthrough-diske, fire logiske processorer og 14 GB RAM. 4. VM_VHD: En virtuel gæstemaskine konfigureret med fast-vhd-diske, fire logiske processorer og 14 GB RAM. 5. Overhead beregnes ved at sammenligne med baseline ((Baselinebatches/CPU VM-batches/CPU)/ Baselinebatches/CPU) Figur 5: Relativ overførselshastighed batchanmodning pr. CPU %

Lagringskonfiguration og ydelse Der blev brugt samme underliggende diskkonfiguration på begge virtuelle gæstemaskiner for SQL Server-data og -logfiler, så de er direkte sammenlignelige (detaljerne for de fysiske konfigurationer findes tidligere i dette dokument, og de er identiske med dem, som er brug til SQLIO-test). I forbindelse med VHD-filerne, var det de eneste filer, der var placeret på de fysiske harddiske, som blev vist ved rodpartitionen. Vi observerede en lille stigning i ventetiden, når vi brugte VHD'er til lagring af SQL Server-data og logfiler, og det havde en mindre indflydelse på belastningsoverførselshastigheden som vist i Figur 5. Brug af VHD til konfigurationer på virtuelle gæstemaskiner har fordele inden for både klargøring og administration. I forbindelse med overførselshastighed/ydeevne er der ingen forskel på passthrough og fast VHD ved lav belastning. Efterhånden som belastningen stiger, begynder passthrough-diske at vise mindre fordele hvad angår ydeevne. Figur 6 viser læsehastighed registreret i dette OLTP-testscenarie. Figur 6: Datadiskenheder (læsninger pr. sekund) Figur 7 viser den gennemsnitlige diskventetid for alle testkørsler. Som forventet har VHD størst ventetid, mens ventetiden for passthrough-disken svarer til den oprindelige lagringsventetid. Diskventetidsværdier rapporteret for VHD-ventetiden blev registreret fra tællerne på den virtuelle gæstemaskine. Vi registrerede dog ingen forskel mellem disse værdier og de værdier, der blev rapporteret af rodpartitionen.

Figur 7: Gennemsnitlig diskventetid Ydelsessammenligning for rapporteringsanmodning Rapporteringsanmodninger er generelt lange, skrivebeskyttede anmodninger, der optager en stor mængde CPU- og I/O-ressourcer. Sammenlignet med OLTP-belastninger udstedes denne type anmodninger generelt ved lav brugersamtidighed. I dette testscenarie blev der udført fire fortløbende rapporteringsanmodninger for at måle ressourceforbruget og udførelsestid. Disse fire anmodninger er I/O-intensive og udgør en betydelig CPU-udnyttelse pga. sammenlægning. sp_configure-indstillingen 'max degree of parallelism' indstilles til 0, så anmodningerne udnytter alle tilgængelige CPU-ressourcer. Forskellen på at køre anmodningerne på virtuelle gæstemaskiner og i den oprindelige version eller på rodpartitionen er minimal. Vi observerede en relativt lille stigning i ydelsesoverhead på de virtuelle gæstemaskiner. Figur 8 viser udførelsestiden og CPU-forbruget for anmodningerne.

Figur 8: Ydelse for rapporteringsanmodning Databasehandlinger Visse almindelige databasehandlinger er relativt CPU-intensive. Testresultaterne i dette afsnit omfatter virtualiseringens indflydelse på databasehandlinger som f.eks. sikkerhedskopiering og gendannelse med komprimering, indeksgendannelse og DBCC CHECKDB. Sikkerhedskopiering og gendannelse Sikkerhedskopierings- og gendannelseshandlinger blev udført vha. et filshare på en anden fysisk server som mål for sikkerhedskopifilerne. I dette tilfælde blev både sikkerhedskopiering og gendannelse bundet af netværkets båndbredde, og ikke af disken eller processoren. Vi brugte oprindelig backup-komprimering i SQL Server 2008 til testen af sikkerhedskopihandlingen. Sammenlignet med den samme handling på et oprindeligt operativsystem, var der en forringelse på 10-15 % i backup-overførsel med en tydelig CPU-forøgelse. Der blev observeret lignende forringelse i forbindelse med gendannelse. Denne forringelse i overførselshastigheden kan forklares af det netværks-overhead, der opstår, fordi handlinger fra den virtuelle gæstemaskine bruger mange netværksressourcer. I vores test var dette det mest problematiske i forbindelse med det overhead, der forårsages af at køre SQL Server fra en virtuel Hyper-V-gæstemaskine. Det var meget tydeligere end noget overhead, der blev observeret i forbindelse med I/O- eller CPUhandlinger. I dette testscenarie observerede vi, at netværksoverførselshastigheden lå på mellem 50-60 MB pr. sekund under sikkerhedskopierings- og gendannelseshandlinger. Der var et enkelt 1 Gbs/sek.- netværkskort i både den server, der blev brugt til SQL Server, og den server, der viste netværksfilsharet til sikkerhedskopidestinationen. Overførselshastigheden for

sikkerhedskopiering og gendannelse var på omkring 100 MB pr. sekund. Målingerne er fra SQL Server-output for sikkerhedskopiering og gendannelse. Der blev brugt komprimering under denne handling, hvilket forklarer, hvorfor den rapporterede overførselshastighed er betydeligt højere end den netværksoverførselshastighed, der kan understøttes pga. netværkskonfigurationen. Figur 9, 10 og 11 viser overførselshastigheden for sikkerhedskopiering og gendannelse på oprindelige maskiner, rodpartitionsmaskiner og virtuelle maskiner konfigureret vha. passthrough-diske og fast VHD. Den relative overførselshastighed på Y-aksen beregnes som MB i alt pr. sekund divideret med den samlede gennemsnitlige CPU-procent. Den marginalt højere overførselshastighed ved gendannelse kan forklares med skrivehastigheden for målfilsharet (læsehastigheden for sharet er en smule bedre, da der bruges RAID5). Figur 9: Sammenligning af overførselshastighed i forbindelse med sikkerhedskopiering og gendannelse

Figur 10: Netværks og CUP udnyttelse ved sikkerhedskopiering Figur 11: Netværks og CUP udnyttelse ved gendannelse Tabel 5 indeholder de data, vi indsamlede fra dette testscenarie.

Tabel 5: Overførselshastighed ved sikkerhedskopiering og gendannelse Virtuel gæstemaskine (passthrough) Virtuel gæstemaskine (fast VHD) Baseline Rodpartition Overførselshastighed ved sikkerhedskopiering (MB/s) 181,00 158,00 154,00 157,00 Samlet tid til sikkerhedskopiering (sekunder) 764,00 875,00 874,00 874,00 Overførselshastighed ved gendannelse (MB/s) 241,00 218,00 173,00 167,00 Samlet tid til gendannelse (sekunder) 573 634 799 824 Indeksgendannelse Gendannelse af indeks er en meget almindelige databasehandling, og den er både CPU- og I/O-intensiv. Formålet med denne test var at få en forståelse af virtualiseringens indflydelse på indeksgendannelseshandlingen. Der blev gendannet tre store indeks sekventielt med "PAGE compression" aktiveret (en ny funktion i SQL Server 2008, som komprimerer datasiderne i et indeks). Vi byggede indekset med sidekomprimering for at øge CPU-belastningen. Ressourceudnyttelse og udførelsestid blev registreret. Der blev observeret meget lidt overhead, når samme handling blev kørt på de virtuelle maskiner. Figur 12 viser tiden for indeksgendannelse vs. procentvis CPU for oprindeligt operativsystem, rodpartition og på de virtuelle gæstemaskiner. Figur 12: Tre indekser opbygges sekventielt med sidekomprimering

DBCC CHECKDB Vi testede også DBCC CHECKDB, som er en anden CPU- og I/O-intensiv handling. Det tager længere tid at fuldføre handlingen på den virtuelle gæstemaskine end i det oprindelige operativsystem. Figur 13 viser udførelsestid vs. den samlede mængde brugte CPU-ressourcer i handlingen. Som det var tilfældet med indeksgendannelsestestene, så vi kun små forøgelser i udførelsestiden. Figur 13: DBCC CHECKDB med MAXDOP 0 SQL Server-konsolideringsscenarier ved brug af Hyper-V Denne gruppe testscenarier blev designet for at kaste lys over en række væsentlige spørgsmål angående konsolidering af SQL Server i et Hyper-V-miljø: Effekt af lagringskonfigurationer med flere forekomster på ydeevnen Formålet med dette testscenarie var at forstå effekten på ydeevnen ved dedikeret vs. delt lagring i et konsolideringsmiljø

Skalerbarhed for virtuelle forekomster Formålet med dette testscenarie var at forstå skalerbarheden for den virtuelle forekomst, når der var en tilstrækkelig stor fysisk processor til at understøtte 1:1- tilknytning til en logisk processor konfigureret for den virtuelle gæstemaskine. Ydeevne for virtuel forekomst med overallokerede CPU-ressourcer Formålet med dette testscenarie var at forstå effekten på ydeevnen, når antallet af logiske processorer, der var konfigureret for de virtuelle forekomster, var større end for de fysiske processorer, der var tilgængelige på serveren. Sammenligning af lagringskonfigurationer i konsolideringsmiljø Indtil videre har vi slået fast, at passthrough-diske og fast VHD begge er gode lagringskonfigurationer til SQL Server-belastning. For at få en endnu bedre forståelse af disse to forskellige lagringskonfigurationers indflydelse på OLTP-belastningen, udførte vi to test for at sammenligne følgende lagringsmetoder: Dedikeret lagring (dvs. ingen lagring på diskniveau) vha. passthrough-diske En fælles pulje diskressourcer med VHD-filer til SQL Server-data og -logfiler Den første lagringskonfiguration benyttede passthrough-diske med dedikeret lagring til hver af de virtuelle maskiner, som vist i Figur 14. Hver enkelt virtuelle gæstemaskine blev præsenteret for denne konfiguration, som bestod af to LUN'er (150 GB) til datafiler og én LUN (50 GB) til logfilen. Der var ingen deling på fysisk diskniveau mellem de virtuelle gæstemaskiner, og hver enkelt LUN havde et sæt dedikerede fysiske diske. Figur 14: Diskkonfiguration pr. virtuel maskine/rod

Den anden lagringskonfiguration blev konfigureret vha. en fælles pulje diske som vist i Figur 15. I dette tilfælde blev der brugt én pulje diskressourcer til VHD-filer med SQL Server-datafiler og en anden pulje diskressourcer til VHD-filer med SQL Server-logfiler. I virtualiserede lagringsmiljøer er denne konfiguration mere fleksibel. Figur 15: Enkelte puljer Samme type OLTP-belastning blev derefter kørt på forskellige belastningsniveauer mod de to konfigurationer. Figur 16 og 17 viser sammenligningen af I/O- overførselshastighed og ventetid mellem den dedikerede lagringskonfiguration med passthrough-diske og den delte lagringskonfiguration med VHDs-filer. Figur 16: I/O overførselshastighed og ventetid ved brug af passthrough vs. fast VHD

Figur 17: Overførselshastighed for dedikerede passthrough LUN'er vs. fast VHD på delte diske Ydelsen var næsten ens for de to lagringskonfigurationer. I gennemsnit var den faste VHDkonfiguration omkring 3,5 % langsommere end dedikerede passthrough-diske. Hvis I/O-ydelsen og forudsigeligheden er kritisk for dit program, anbefaler vi, at du bruger passthrough-diske på dedikerede diskressourcer. Der er dog kun en lille fordel i forhold til den fleksibilitet, man oplever med VHD-filer. Skalerbarhed for virtuelle forekomster Det er et faktum, at det mest almindelige scenarie er at køre flere virtuelle maskiner på samme vært. Vi medtog dette testscenarie for at finde frem til kendetegnene ved skalering af databasebelastning med virtuelle maskiner. Dell R900, som blev brugt til dette testscenarie, har 16 fysiske kerner. Der blev udført to sæt test. Det første sæt blev konfigureret til at bruge 8 kerner (NUMPROC=8). Det andet sæt blev konfigureret til at bruge alle 16 fysiske kerner (NUMPROC=16). Alle virtuelle gæstemaskiner blev konfigureret med fire logiske processorer og 14 GB RAM. SQL Server blev konfigureret til at bruge 12 GB, hvilket betød, at der var 2 GB til operativsystemet. To samtidige virtuelle gæstemaskiner Denne test omfattede to virtuelle maskiner, der kørte samtidigt på værten, der var konfigureret til at bruge otte fysiske processorer. Hver enkelt virtuel maskine blev konfigureret med fire logiske processorer. De virtuelle maskiner blev konfigureret med identisk underliggende lagring. Resultatet kan ses i Figur 18, som viser, at konfigurationen skaleres rigtig godt, efterhånden som belastningen øges.

Figur 18: Skalerbarhed for samtidige virtuelle gæstemaskiner Fire samtidige virtuelle gæstemaskiner Vi kørte denne test for at finde skalerbarheden for virtuelle maskiner, der kører OLTP-belastning, når der er tilstrækkelige processorressourcer til at understøtte én-til-én-tilknytning af fysiske processorer til logiske processorer. Værten havde 16 tilgængelige CPU'er, og alle virtuelle maskiner var konfigureret med fire logiske processorer. Den underliggende lagring var identisk på alle fire virtuelle maskiner. Resultaterne er vist i Figur 19, og de viser, at de virtuelle maskiner skaleres meget godt, når CPU ikke er overallokeret. Du kan se, at der er højere overhead med fire samtidige virtuelle gæstemaskiner sammenlignet med to samtidige gæstemaskiner, og det er forventeligt pga. øget samtidighed.

Figur 19: Skalerbarhed for virtuel maskine uden overallokerede CPU'er Ydeevne for virtuel forekomst med overallokerede CPU-ressourcer Hyper V understøtter overallokeret CPU op til 1:8 logisk til virtuel processortilknytning. Overallokerede processorer kan bruges sammen for at maksimere de CPU ressourcer, der er tilgængelige for den fysiske server. Denne teknik medfører dog betydeligt mere CPU overhead. De test, der er beskrevet i dette afsnit, undersøger effekten af at køre SQL Server i virtualiserede miljøer med overallokerede CPUressourcer. Fire samtidige virtuelle gæstemaskiner med overallokerede CPU-ressourcer I forbindelse med vores scenarie for overallokeret processor blev fire virtuelle gæstemaskiner konfigureret til at køre samtidig. Hver enkelt virtuel maskine blev konfigureret med fire logiske processorer, 14 GB RAM, og 12 GB blev brugt af SQL Server. Den underliggende lagring var identisk på alle fire virtuelle maskiner. Figur 16 viser skalerbarheden, efterhånden som belastningen øges. Skaleringen er ret flad, efterhånden som belastningen øges, og den svinder ind omkring 90 %. Kørsel af fire virtuelle maskiner med fire virtuelle processorer resulterede i overallokeret CPU: 16 virtuelle processorer med kun 8 fysiske CPU-kerner blev ressourcebegrænset af CPU. Hyper-V indeholder funktioner til styring af CPU-ressourcer på virtuelt niveau, som kan bruges i disse scenarietyper. Disse indstillinger beskrives i et andet dokument.

Figur 20: Skalerbarhed for fire samtidige virtuelle gæstemaskiner med overallokeret CPU Sammenligning af konsolideringsmuligheder Virtualisering medfører mange konsolideringsfordele. En af de største fordele er, at virtuelle maskiner giver adgang til flere isolerede miljøer på samme værtscomputer. Hvad angår ydeevnen, vil den variere afhængigt af program, belastning og hardware. Det er vigtigt at udføre en grundig test og evaluering af fordele og ulemper ved brug af en oprindelig forekomst vs. en virtuel forekomst til et konsolideringsprojekt. Tabel 6 indeholder en sammenligning af mulighederne for oprindelige forekomster og virtuelle forekomster hvad angår konsolidering. Tabel 6: Konsolideringsmuligheder Flere SQL Serverforekomster Flere virtuelle maskiner Isolation Delt Windows-forekomst Dedikeret Windows-forekomst CPU-ressourcer Hukommelse Lagring Antal CPU'er synlige for Windows-forekomsten Servergrænse fleksibel (maks. serverhukommelse) SQL Server-datafiler med standardlagringsindstillinger Maksimum Windows 2008 op til 4 virtuelle CPU'er Windows 2003 op til 2 virtuelle CPU'er Statisk allokering til den virtuelle maskine Kun offline-ændringer Ingen mulighed for at overallokere hukommelsesressourcer 64 GB grænse pr. virtuel maskine 2 TB (terabyte) grænse pr. vært SQL Server-datafiler med passthrough eller virtuelle harddiske, der vises for den virtuelle maskine Ressourcestyring WSRM (procesniveau) Virtuel Hyper-V-gæstemaskine

Antal 50 Praktisk grænse bestemt af fysiske ressourcer forekomster Understøttelse Normale regler gælder SQL Server 2008 og SQL Server 2005 Høj grad af tilgængelighed Normale regler gælder Gæsteklynger understøttes ikke Databasespejling, logafsendelse (understøttes) Konklusion Hvad angår ydeevne er Hyper-V en realistisk mulighed i forbindelse med SQL Serverkonsolidering. SQL Servers overordnede ydeevne ved kørsel i et Hyper-V-virtualiseret miljø er rimelig i forhold til det tilsvarende oprindelige Windows Server 2008-miljø. Med relevant I/O-kapacitet og -konfiguration er I/O-overhead minimal. For at opnå den bedste ydelse skal du have tilstrækkelige fysiske processorer til at understøtte antallet af virtuelle processorer, der er konfigureret på serveren, for at undgå overallokerede CPUressourcer. CPU-overhead stiger betydeligt, når CPU-ressourcerne overallokeres. Det er vigtigt at teste hvert enkelt program grundigt, før du anvender det i et kørende Hyper-V-miljø. Nedenfor findes nogen af vores generelle overvejelser og anbefalinger ved kørsel af SQL Server i Hyper-V-miljøer. Observationer Virtuelle Hyper-V-gæstemaskiner er begrænset til maks. fire CPU-kerner. Derfor skal du kun køre SQL Server på virtuelle Hyper-V-gæstemaskiner, hvis belastningen kan klares med fire CPU'er. Sammenlignet med oprindelige konfigurationer med sammenlignelige hardwareressourcer kan den samme overførselshastighed opnås på en virtuel gæstemaskine med kun en smule mere CPU-udnyttelse. Med Hyper-V er det muligt at overallokere CPU-ressourcer, hvis det samlede antal logiske CPU-kerner på tværs af alle virtuelle gæstemaskiner er større end det faktiske antal fysiske CPU-kerner på serveren. I disse tilfælde observerede vi større CPU-overhead og ydeevneoverhead ved kørsel af SQL Server-belastninger. Den rette hardware er altafgørende for SQL Server-ydelsen. Du skal sørge for, at de fysiske CPU-ressourcer på en server er tilstrækkelige til at imødekomme behovet fra de virtuelle gæstemaskiner ved at teste belastningerne i det planlagte virtualiserede miljø. Netværksintensive belastninger giver større CPU-overhead og påvirker dermed ydeevnen mere. Indtil videre har oplysningerne i dokumentet omhandlet overvejelser i forbindelse med ydeevnen. I forbindelse med implementeringen skal du overveje nogle elementer vedrørende funktionaliteten (dvs. understøttede konfigurationer, muligheder for høj

tilgængelighed osv.). Du kan finde flere oplysninger om dette i appendikserne i dette dokument. De omhandler generel Hyper-V-funktionalitet og gældende supportpolitikker i forbindelse med kørsel af SQL Server i Hyper-V-konfigurationer. Vi fandt frem til, at der er minimal overhead for I/O-ydelsen ved kørsel af SQL Server fra en virtuel gæstemaskine. Konfiguration med passthrough-disk gav den bedste I/O-ydelse. Vi observerede minimal overhead ved kørsel af VHD'er med fast størrelse. Beslutningen om, hvilken lagringskonfiguration der skal benyttes, skal træffes ud fra, hvad der passer bedst til den specifikke implementering. Virtuelle maskiner med VHD'er er lettere at flytte rundt med end passthrough-diske. I forbindelse med konsolidering skal beslutningen træffes med udgangspunkt i den tilgængelige mængde lagringsressourcer samt selve scenariet. I vores test fandt vi acceptabel ydelse i både delte og dedikerede konfigurationer. I hver enkelt situation skal du skalere lagringen med kravene til belastning og svartid. Følg altid best practices, hvad angår den underliggende lagring i Hyper-V-miljøer, på samme måde som du ville gøre i forbindelse med en hvilken som helst anden SQL Serverimplementering. Du finder flere oplysninger under I/O-best practices før installation for SQL Server. Anbefalinger Anvend enten passthrough-diske eller faste VHD'er til lagring i forbindelse med virtuelle gæstemaskiner. Det er de bedste muligheder hvad angår ydelse, og de giver de bedste resultater for SQL Server-belastninger. Dynamiske VHD'er anbefales ikke af ydelsesmæssige årsager. Undgå at bruge emulerede enheder, og kontroller i stedet for, at der er installeret integrationskomponenter til Hyper-V, og at der bruges syntetiske enheder til I/O, netværk osv. Syntetiske enheder giver den bedste ydelse med laveste mængde CPU-overhead. Muligheden for at bruge disse teknikker afhænger af hardwaren. I forbindelse med belastninger, der bruger mange netværksressourcer, skal du gå til afsnittet om virtualisering og netværk i vejledningen om tilpasning af ydeevnen i Windows for at læse best practices om optimering at netværket til en bestemt konfiguration. Test ydelsen med belastningen, da belastninger kan variere meget.

Yderligere oplysninger Windows Server Hyper-V Vejleding i Hyper-V-installation og planlægning Microsoft Værktøjspakke til vurdering og planlægning 3.1 til Hyper-V Trinvis introduktionsguide til Hyper-V Retningslinjer for tilpasning af ydeevnen for Windows Server 2008 (virtualiseringsafsnittet) Hyper-V-ydeevne - Ofte stillede spørgsmål Hyper-V-overvågning (Windows-team - BLOG om alle emner inden for ydeevne) Supportpolitik i forbindelse med kørsel af SQL Server i Hyper-V-miljøer I/O-best practices før installation for SQL Server Microsoft System Center Virtual Machine Manager

Appendiks 1: Hyper-V-arkitektur Hyper-V er en hypervisor-baseret virtualiseringsteknologi til Windows Server 2008. Hypervisor er den processorspecifikke virtualiseringsplatform, der giver mulighed for kørsel af flere isolerede operativsystemer på én hardwareplatform. Hyper-V understøtter isolering i form af en partition. En partition er en logisk isoleringsenhed, der understøttes af den hypervisor, som operativsystemet køres i. Microsoft-hypervisor skal have mindst én overordnet partition, eller rod, der kører Windows Server 2008 64-bit Edition. Virtualiseringsstakken kører i den overordnede partition og har direkte adgang til hardwareenhederne. Rodpartitionen opretter derefter underordnede partitioner, som hoster gæsteoperativsystemerne. En rodpartition opretter underordnede partitioner vha. hyperkald-api (application programming interface). Partitioner har ikke adgang til den fysiske processor, og de håndterer ikke processorinterrupts. I stedet for har de en virtuel visning af processoren og kører i et virtuelt hukommelsesadresseområde, som er privat for hver enkelt gæstepartition. Hypervisoren håndterer interrupts til processoren og omdirigerer dem til de relevante partitioner. Hyper-V kan også hardwareaccelerere adressefortolkningen mellem forskellige virtuelle gæsteadresseområder vha. en IOMMU (Input Output Memory Management Unit), som kører uafhængigt af den hukommelsesstyringshardware, der bruges af CPU'en. En IOMMU bruges til at gentilknytte fysiske hukommelsesadresser til de adresser, der bruges af de underordnede partitioner. Underordnede partitioner har heller ikke direkte adgang til andre hardwareressourcer, og de får vist en virtuel visning af ressourcerne som virtuelle enheder (VDevs). Anmodninger til de virtuelle enheder omdirigeres enten via VMBus eller hypervisoren til de enheder i den overordnede partition, der håndterer anmodninger. VMBus er en logisk kanal til kommunikation mellem partitioner. Den overordnede partition hoster VSP'er (Virtualization Service Providers), som kommunikerer via VMBus for at håndtere enhedsadgangsanmodninger fra underordnede partitioner. Underordnede partitioner hoster VSC'er (Virtualization Service Consumers), som omdirigerer enhedsanmodninger til VSP'er i den overordnede partition via VMBus. Hele denne proces er gennemsigtig for gæsteoperativsystemet. Virtuelle enheder kan også bruge en Windows Server Virtualization-funktion, nemlig Enlightened IO, til lagrings-, netværks-, grafik- og inputundersystemer. Enlightened IO er en specialiseret virtualiseringsbaseret implementering af kommunikationsprotokoller på højt niveau, f.eks. SCSI, der bruger VMBus'en direkte og omgår alle enhedsemuleringslag. Det gør kommunikationen mere effektiv, men det kræver en enlightened gæst, som er hypervisor- og VMBus-baseret. Hyper-V enlightened I/O og en hypervisor-baseret kerne leveres via installation af Hyper-V-integrationstjenester. Integrationskomponenter, som omfatter VSC-drivere (virtual