Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server på virtuella Azure-datorer
Den här artikeln innehåller information om hur du samlar in en prestandabaslinje som en serie metodtips och riktlinjer för att optimera prestanda för din SQL Server på virtuella Azure-datorer (VM).
Vanligtvis finns det 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.
Överblick
För en normativ metod samlar du in prestandaräknare med hjälp av PerfMon eller LogMan och samlar in SQL Server-väntestatistik för att bättre förstå allmänna tryck och potentiella flaskhalsar i källmiljön.
Börja med att samla in PROCESSOR, minne, IOPS, dataflödeoch svarstid för källarbetsbelastningen vid hög belastning efter checklistan för programprestanda.
Samla in data under hög belastning, till exempel arbetsbelastningar under din vanliga arbetsdag, men även andra processer med hög belastning, till exempel bearbetning i slutet av dagen och ETL-arbetsbelastningar under helgen. Överväg att skala upp dina resurser för atypiskt tunga arbetsbelastningar, till exempel bearbetning i slutet av kvartalet, och skala sedan ned när arbetsbelastningen är klar.
Använd prestandaanalysen för att välja VM-storlek som kan skalas efter arbetsbelastningens prestandakrav.
Lagring
SQL Server-prestanda är starkt beroende av I/O-undersystemet. Mät lagringsprestanda efter IOPS och dataflöde. Om inte databasen passar in i fysiskt minne tar SQL Server ständigt databassidor in och ut ur buffertpoolen. Behandla datafilerna för SQL Server på olika sätt. Åtkomst till loggfiler är sekventiell, förutom när en transaktion måste återställas där datafiler, inklusive tempdb, används slumpmässigt. Om du har ett långsamt I/O-undersystem kan användarna uppleva prestandaproblem som långsamma svarstider och uppgifter som inte slutförs på grund av tidsgränser.
De virtuella Azure Marketplace-datorerna har loggfiler på en fysisk disk som är separat från datafilerna som standard.
tempdb datafilernas antal och storlek uppfyller bästa praxis och är riktade mot den tillfälliga D:\-enheten.
Följande PerfMon-räknare kan hjälpa dig att verifiera det I/O-dataflöde som krävs av din SQL Server:
- \LogicalDisk\Disk Reads/Sec (läs IOPS)
- \LogicalDisk\Disk Writes/Sec (skriv IOPS)
-
\LogicalDisk\Disk Read Bytes/Sec (läsgenomströmningskrav för data, logg och
tempdb-filer) -
\LogicalDisk\Disk Write Bytes/Sec (skrivflödeskrav för data, logg och
tempdbfiler)
Med hjälp av IOPS- och dataflödeskrav på toppnivåer utvärderar du VM-storlekar som matchar kapaciteten från dina mått.
Om din arbetsbelastning kräver 20 000 läs-IOPS och 10 000 skriv-IOPS, kan du antingen välja E16s_v3 (med upp till 32 000 cachelagrade och 25 600 ej cachelagrade IOPS) eller M16_s (med upp till 20 000 cachelagrade och 10 000 ej cachelagrade IOPS) med två P30-diskar strimmade med hjälp av Lagringsutrymmen.
Se till att förstå både dataflödes- och IOPS-kraven för arbetsbelastningen eftersom virtuella datorer har olika skalningsgränser för IOPS och dataflöde.
Minne
Spåra både externt minne som används av operativsystemet samt det minne som används internt av SQL Server. Genom att identifiera tryck för någon av komponenterna kan du storleksanpassa virtuella datorer och identifiera möjligheter till justering.
Följande PerfMon-räknare kan hjälpa till att verifiera minneshälsan för en virtuell SQL Server-dator:
- \Minne\Tillgängliga MBytes
- \SQLServer:Memory Manager\Target Server Memory (KB)
- \SQLServer:Memory Manager\Total Server Memory (KB)
- \SQLServer:Buffer Manager\Lata skrivningar/sek
- \SQLServer:Buffer Manager\Förväntad sidlivslängd
Beräkna
Beräkning i Azure hanteras på ett annat sätt än lokala miljöer. Lokala servrar är utformade för att pågå i flera år utan uppgradering på grund av hanteringskostnader och kostnader för att skaffa ny maskinvara. Virtualisering minskar vissa av dessa problem, men program är optimerade för att dra full nytta av den underliggande maskinvaran. Alla betydande ändringar i resursförbrukningen kräver ombalansering av hela den fysiska miljön.
Det här problemet finns inte i Azure. Du kan enkelt skapa en ny virtuell dator på en annan serie maskinvara, eller till och med i en annan region.
I Azure vill du dra nytta av så mycket av den virtuella datorns resurser som möjligt. Konfigurera virtuella Azure-datorer för att hålla den genomsnittliga processorn så hög som möjligt utan att påverka arbetsbelastningen.
Följande PerfMon-räknare kan hjälpa till att verifiera beräkningshälsan för en virtuell SQL Server-dator:
- \Processorinformation(_Total)% Processortid
- \Process(sqlservr)% processortid
Not
Sikta på att använda 80% av din beräkning, med toppar över 90% men når inte 100% under en längre tidsperiod. I grund och botten ska du bara tilldela de datorresurser som programmet behöver. Planera för att skala upp eller ned som företaget kräver.
Relaterat innehåll
För detaljerad vägledning om varje optimeringsområde:
- Snabbchecklista – Granska checklistan med fullständiga metodtips
- VM-storlek – Välj rätt VM-serie och konfiguration
- Lagring – Optimera diskkonfiguration och prestanda
- Säkerhet – Implementera metodtips för säkerhet
- HADR-inställningar – Konfigurera hög tillgänglighet och haveriberedskap
- Uppdatera SQL Server – Håll SQL Server uppdaterat
Läs andra artiklar om SQL Server Virtual Machine på SQL Server på Azure Virtual Machines Overview. Om du har frågor om virtuella SQL Server-datorer kan du läsa Vanliga frågor och svar.