Udførelsen af SQL Server afhænger af flere faktorer kaldes ydeevne tællere. Overvågning præstation er ikke så meget om , hvorvidt CPU'en er optaget, men om det er at spilde tid på arbejde, der kan undgås. Processor Time
Run et operativsystem hjælpeprogram som f.eks PerfMon (Performance Monitor ) at observere processor tid. Hvis det ikke viser CPU flaskehals , bruger SQL Profiler eller iagttage runtime af SQL- forespørgsler på SQL Analyzer. Almindelige årsager er ineffektive hukommelsesforbrug , ineffektive genbrug af query planer og ineffektivt skrevet SQL-kode .
Context Switching
Antallet af kontekst switches lavet af CPU per sekund bør ikke overstige tærskelværdien på 5000. Hvis dette sker , skal du deaktivere kontekst - switching (eller hyperthreading ) .
Processor Queue Length
p Der bør ikke være mere end fem processer i systemet køen .
frekvensen af udarbejdelsen
observere tendensen , hvor ofte projektet er kompileret og genoversat hjælper overvåge frekvensen af udarbejdelsen . Rediger kompiler skifter for at undgå unødig kompilering.
Checkpoints og Lazy Skriver
SQL Server skyller cache ved en kontrolpost i SQL-kode . Checkpoints bruges under store opdateringer og indsætter som en måde transaktion kontrol. Alt for mange checkpoints per sekund vil skabe en CPU flaskehals ved at udløse " dovne skriver," dvs , skriver cache tilbage til permanent opbevaring med unødigt høj frekvens.
Cache Hit Ratio
Hvis SQL Server er ikke genbruge query planer , det genererer en ny plan hver gang for ofte køre forespørgsler . Dette skaber en høj cache hit ratio, dvs diskadgang .