Snabba upp och finjustera prestandan
Att förstå dina alternativ för att påskynda och finjustera prestanda för Azure SQL är nyckeln till att gå vidare med att leverera konsekventa prestanda. I det här ingår att förstå hur du skalar CPU-kapacitet, förbättrar I/O-prestanda, konfigurerar minne och arbetare, kortar ned programmets svarstider och tillämpar standardmetoder för SQL Server-justering.
Skala CPU-kapacitet
Du kan behöva skala om antalet processorer efter dina resursbehov. För en lokal miljö kräver detta att du konfigurerar om en virtuell dator, ändrar maskinvara och till och med migrerar databasen. Med Azure SQL kan du göra detta utan att själv behöva göra någon migrering. Du kan använda portalen, T-SQL, CLI eller REST-API:er till att skala upp eller ned antalet virtuella kärnor i distributionen.
Det krävs normalt nedtid, men den kan vara mycket kort för Azure SQL Database utan migrering. För distributioner på nivån Hyperskala skalar du upp i konstant tid oavsett datastorlek, och för serverlösa distributioner kan du skala om automatiskt baserat på CPU-efterfrågan.
Kommentar
Skalning av Azure SQL Managed Instance kan ta längre tid, men kräver ingen migrering.
I/O-prestanda
I/O-prestanda kan vara avgörande för ett databasprogram. Med Azure SQL sköter du inte den fysiska filplaceringen, men det finns metoder för att se till att du får de I/O-prestanda du behöver.
In-/utdata per sekund (IOPS) kan vara viktigt i ditt program. Se till att du har valt rätt tjänstnivå och virtuella kärnor för dina IOPS-behov. Förstå hur du mäter IOPS för dina frågor lokalt om du migrerar till Azure. Om du har IOPS-begränsningar är det möjligt att du får långa I/O-väntetider. I köpmodellen för virtuella kärnor kan du skala upp virtuella kärnor eller flytta till Affärskritisk eller Hyperskala om du inte har tillräckligt med IOPS. När du använder DTU för produktionsarbetsbelastningar rekommenderar vi att du flyttar till Premium-nivån.
I/O-svarstid är en annan viktig komponent för I/O-prestanda. Överväg att använda Affärskritisk eller Hyperskala om du vill ha snabbare I/O-svarstider för Azure SQL Database. Om du vill ha kortare I/O-svarstider för SQL Managed Instance kan du byta till nivån Affärskritisk eller öka filstorleken eller antalet filer för databasen. För att förbättra svarstiden för transaktionsloggar kan du behöva använda transaktioner med flera delstater.
Öka minne eller arbetare
Det är viktigt att ha tillräckligt med minne eller arbetare för programmet och distributionen. För Azure SQL Database kan du skala upp virtuella kärnor för högre minnesgränser eller fler arbetare. För SQL Managed Instance kan du skala upp antalet virtuella kärnor för att få högre minnesgränser. För närvarande har SQL Managed Instance även stöd för fler arbetare via ”max worker threads”.
Förbättra programmets svarstid
Även om du konfigurerar distributionen för alla dina resursbehov kan program orsaka fördröjningsrelaterade prestandaproblem. Se till att följa dessa metodtips med Azure SQL-program:
- Använd en anslutningstyp med omdirigering i stället för en proxy.
- Optimera ”pratsamma” program genom att använda lagrade procedurer eller begränsa frågekommunikationen med batchmetoder.
- Optimera transaktioner genom att gruppera dem snarare än att köra enstaka transaktioner.
Finjustera precis som med SQL Server
Azure SQL är fortfarande SQL Server. Det finns nästan aldrig något bättre än att se till att finjustera SQL Server-frågorna och titta på följande:
- Lämplig indexdesign
- Användning av batchar
- Användning av lagrade procedurer
- Parametrisera frågor för att undvika för många cachelagrade ad hoc-frågor
- Bearbetning av resultat i ditt program snabbt och korrekt
I nästa övning tar du prestandaproblemet från den första övningen och förbättrar det genom att skala processorer för Azure SQL.