Brent Ozar vet allt om att köra fort – han tävlar med bilar och han förstärker SQL-servrarna med hisnande databasprestandaresultat dagligen. I sin webbsändning "How to measure SQL Server", för Quest’s Database Training Days-serien, Brent påminde oss om att prestanda handlar om mätning.
Var upp för prestanda
Brent passade på att träna social distansering och klädde på delen genom att ta på sig en hel racingsdräkt och hjälm. I ett skämt före webbsändningen fick vi veta att han var tvungen att koppla in en mikrofon i hjälmen och tejpa hörsnäckorna mot öronen! Men vi avviker. Webbsändningen handlade om prestanda, och det fanns massor av bilanalogier att gå runt.
För att förbättra SQL Server-prestanda är premisserna:
- Välj mätvärden att fokusera på att förbättra
- Mät prestanda före och efter att du har gjort begränsade ändringar (grundläggande vetenskaplig metod)
- Förstå när du har fel utrustning för det du försöker uppnå
Databasprestandajusteringsstatistik
En lång diskussion om Ford F150-lastbilar, Ford Fiestas och några andra intressanta fordon visade att det finns olika sätt att förbättra tiden det tar att gå från 0 till 60 miles per timme. Du kan minska fordonets vikt, lägga till en större motor eller börja ta bort icke-nödvändiga saker – som en vindruta. Det kommer att bli en kompromiss mellan prestanda och nytta. Databaser är precis så här – de laddas ofta ner. Det är då anpassad prestandajustering behövs, vilket kräver att man känner till och förbättrar mätvärdena.
Brent hävdar att det finns tre primära mätvärden du behöver för att trimma bilar och databaser:vikt, hastighetsmått (som 0 till 60) och hur hårt motorn (servern) fungerar.
Mäta databasstorlek
Vikt för SQL Server översätts till total databasstorlek och hur mycket data du har. Detta mäts vanligtvis i gigabyte eller terabyte. Från cirka 1-150 GB bör SQL Server Standard Edition räcka. Från 150-500 GB är en enkel laddning för Enterprise Edition. Utöver 500 GB börjar det spela någon roll om det är aktiv data och hur den nås. Och allt över 1 TB OLTP-data kan vara mycket utmanande.
Spårningshastighet
Hastighetsmåttet i bilar är enkelt – MPH. För databasen är det batchförfrågningar per sekund, men detta måste trendas varje timme under olika tidsperioder. Uppenbarligen, ju fler frågor det finns, desto långsammare blir prestandan beroende på hårdvaran.
Bedöma frågearbetsbelastningar
Slutligen, för att förstå hur hårt databasen fungerar, måste du förstå vilka frågor som körs för närvarande och vad som väntar i kön. Detta kommer att ge dig ett väntetidsförhållande - i princip hur länge väntar uppgifter på att andra ska slutföra. Ditt väntetidsförhållande kommer att uttryckas som timmars väntetid per timme (eller sekunders väntetid per sekund) – blanda inte dina måttenheter. När du har ett bra grepp om denna statistik över tid kan du se vad som påverkar väntetiden, till exempel om det finns fler eller färre batchförfrågningar, bättre eller sämre avstämda frågor, etc. Sedan kan du ta itu med dessa problem.
Titta på inspelningen av webbseminariet på begäran för alla Brents visråd och humor.