Le prestazioni di SQL Server dipende da diversi fattori chiamati contatori delle prestazioni . Monitoraggio delle prestazioni non è tanto sul fatto che la CPU è occupata , ma se si tratta di perdere tempo su lavoro che può essere evitato . Tempo processore
Eseguire un'utilità di sistema operativo come PerfMon ( Performance Monitor ) per osservare il tempo del processore . Se non mostra il collo di bottiglia della CPU , utilizzare SQL Profiler o osservare fase di esecuzione di query SQL su SQL Analyzer. Le cause più comuni sono l'utilizzo della memoria inefficiente , inefficace riutilizzo di piani di query e del codice inefficiente scritto SQL .
Context Switching
Il numero di modifiche del contesto da parte della CPU al secondo dovrebbe non superi il valore soglia del 5000 . Se questo sta accadendo , disattivare context-switching ( o hyperthreading ) .
Lunghezza coda processore
Non ci dovrebbero essere non più di cinque processi nella coda di sistema .
frequenza di elaborazione
Osservando l'andamento di ogni quanto tempo il progetto viene compilato e ricompilato aiuta a monitorare la frequenza di elaborazione . Modificare le opzioni del compilatore per evitare inutili compilazione .
Punti di controllo e pigro Scrive
La cache di SQL Server vampate a un checkpoint nel codice SQL . Punti di controllo sono utilizzati durante aggiornamenti di grandi dimensioni e gli inserti come un modo di controllo delle transazioni . Troppi posti di blocco al secondo creerà un collo di bottiglia della CPU attivando " pigro scrive , " vale a dire , la scrittura della cache torna alla memorizzazione permanente con inutilmente alta frequenza .
Cache hit ratio
< p > Se l' SQL Server non è riutilizzo dei piani di query , genera un nuovo piano ogni volta per le query eseguite di frequente. Questo crea un alto rapporto di cache hit, cioè , l'accesso al disco .