Utför en prestandaanalys av din SQL Server #1
Förord
Om du har varit en DBA under en lång tid, då vet du att det här med att optimera din SQL Servers prestanda inte är en exakt vetenskap. Och även om det vore det, så skulle det ändå vara svårt att finna den ”optimala” konfigurationen för den ”optimala” prestandan. Det beror på att det finns få definitiva alternativ då du konfigurerar din prestanda. Ett exempel är att om en konfigurering höjer din prestanda ur ett perspektiv, så kan den även skada din prestanda ur ett annat. Under mina år som SQL Server DBA så har jag framställt en mental checklista som jag använder då jag ska optimera min SQL Servers prestanda. Jag använder den här checklistan som en guide då jag utför en prestandaanalys på en (för mig, ny) SQL Server för första gången. Folk ber mig ofta att ”se över” deras SQL Server och ge dem förslag på hur de kan förbättra dess prestanda, och fram tills nu så har jag aldrig riktigt skrivit ner den process jag genomgår. Men eftersom jag mer och mer har börjat med consulting för prestandaoptimering, så har jag nu bestämt mig för att få ner min checklista för prestandaanalysering på papper. Förhoppningsvis kommer du att finna det lika användbart som jag gör.Hur du utför en prestandaanalys av din SQL Server
av Brad M. McGee
Prestandaanalys i SQL Server
Målet med den här checklistan för prestandanalysering är att hjälpa dig, på ett halvt vetenskapligt sätt, identifiera några uppenbara prestandaproblem i din SQL Server. Som jag nämnde tidigare så kan prestandaoptimering vara komplicerat. Och det jag vill uppnå med min checklista är att finna dem ”lätta” prestandaproblemen i SQL Servern, och spara de ”svåra” problemen till senare. Jag gör det därför att det kan vara lätt att blanda ihop de lätta och svåra lösningarna för SQL Serverns prestanda. Och genom att skapa en lista av de lättare områdena inom prestandaoptimering, så kan du få de lätta problemen ur vägen för att sen kunna fokusera dig på de svårare problemen.En av fördelarna med en checklista för prestandaanalysering, är att det talar inte bara om för dig hur du kan höja den aktuella prestandan, utan den hjälper dig också se vilka av sakerna som du redan har gjort korrekt. I vissa fall kan du medvetet ha gjort vissa val för din SQL Server som skiljer sig lite från mina rekommendationer på min checklista. Med andra ord så kan du ha specifika anledningar för att inte följa ett vanligt utförande av prestandaoptimering i din SQL Server. I vissa fall kan det vara du som har rätt. I andra fall så kan du ha baserat dina val på begränsade resurser, som att du t ex inte har råd med att köpa den hårdvaran som krävs för den höga lasten. Om så är fallet så har du inget annat val än att leva med det. Och i vissa andra fall så kanske du inte följer mina rekommendationer helt på grund av politiska skäl, vilka kanske inte går att ändra på. Hur läget än ser ut, så måste du göra vad du kan. Använd den här prestandaanalysen på områden som du kan ändra på, och gör sedan de ändringarna för att höja din SQL Servers prestanda.
Det idealiska vore att utföra den här analysen på var och en av dina SQL Servrar. Om du har flera av dem, så kan det ta lite tid. Jag föreslår då att du börjar med de Servrar som för tillfället skapar mest prestandaproblem, och sedan arbetar dig igenom resterande Servrar i mån av tid.
När du har avslutat en prestandaanalys, så är du långt ifrån klar. Kom ihåg att de här problemen är de ”lätta” problemen. Och när du har klarat av de lätta problemen, så kan du hänge dig fullt ut till att arbeta med de tyngre prestandaproblemen. Och det får ingå i en helt annan artikelserie än den här.
Hur du genomför din SQL Server prestandaanalysering
För att förenkla din prestandaanalysering ytterligare, så har jag delat upp processen i följande delar:- Använd Performance Monitor för identifiering av flaskhalsar i SQL Serverns hårdvara
- Checklista för hårdvaruprestanda
- Checklista för operativsystemets prestanda
- Checklista för SQL Serverns konfigurationsprestanda
- Checklista för databasens konfigurationsprestanda
- Checklista för Indexens prestanda
- Checklista för applikationens och Transact-SQLens prestanda (ej tillgänglig)
- Använd Profiler för att identifiera Querys med dålig prestanda (ej tillgänglig)
- När jag har utfört en prestandaanalysering, vad gör jag sen? (ej tillgänglig)
Det bästa sättet att utföra sin SQL Server prestandaanalysering på, är genom att gå igenom varje artikel från listan ovan, och sedan skriva ut dem. Därifrån kan du läsa igenom varje artikel, och skriva upp dina resultat allteftersom du samlar in dem. Du kan utföra din analysering i vilken ordning du själv vill. Jag har bara skrivit dem i den ordningen, därför att det är den ordningen jag själv använder när jag analyserar.
När du väl har utfört din analysering, så är du redo att bestämma vilket tillvägagångssätt du ska använda dig av för att implementera de varierande rekommendationerna du får utifrån analyseringen. Det kommer du att lära dig mer om i den sista artikeln.
0 Kommentarer