Jag kommer att fortsätta att förklara hur man övervakar prestandaräknare via PERFMON | Felsökning av SQL Server-prestanda i denna artikelserie.
Felsökning av SQL-serverprestanda
Läs tidigare artikel innan detta.
SQL Server Performance Felsökning -2 Övervaka databaser och instanser via Activity Monitor
Övervaka prestandaräknare via PERFMON
Flaskhals som uppstår i databasen och servern kan identifieras genom att undersöka användningen av serverresurser. De viktigaste flaskhalsarna som påverkar SQL Server är följande.
- Minnesflaskhals
- Disk I/O-flaskhals
- CPU-flaskhals
Minnesflaskhals i SQL Server
SQL Server Instance allokerar minnesutrymme från operativsystemet (OS) enligt de max- och minminnesparametrar som ställts in under uppstart. Som standard ökar minnesanvändningen för SQL Server Instances kontinuerligt för att undvika personsökning. Om det inte finns mer minnesutrymme för en process på operativsystemet, varnar operativsystemet SQL Server och SQL Server släpper extra minne som den tilldelade.
Maximala och lägsta minnesparametrar kan ställas in från följande skärm. ( SQL Server Management Studio–> Högerklicka på SQL-instans och välj Serveregenskaper )
Den allmänna orsaken till flaskhalsar i SQL Server-instanser är att minnet är otillräckligt. I händelse av otillräckligt minne kallas det hårt sidfel om databasen läser data från den fysiska disken istället för minnet.
Följande prestandaräknare bör granskas för att se om det finns minnesflaskhals i databasen och operativsystemet.
Minne:Sidor/sek i SQL Server
Indikerar antalet minnessidor som inte finns i minnet ve och måste läsas från disken och antalet minnessidor som måste skrivas till disken.
Detta värde bör följas under en viss period medan databasen körs normalt och ett medelvärde bör fastställas. Om detta värde konstant är högt vid problem är det användbart att öka storleken på operativsystemets fysiska minne.
Minne:Committed Bytes i SQL Server
Indikerar det totala minnesutrymmet som används av Instance från pagefile.sys på RAM och disk. Denna räknare kommer inte att överskrida den totala RAM-storleken om mängden minne som tillhandahålls är tillräcklig. Om det inte finns mer tillräckligt med minne, används pagefile.sys-utrymme, och det betyder att relaterade prestandaräknare kommer att överskrida RAM-värdet. I ett sådant scenario kan systemet förenklas genom att lägga till RAM-minne på servern.
Minne:Tillgängliga byte i SQL Server
Indikerar den totala mängden tillgängligt minne till exempel. Detta värde verkar vanligtvis vara lågt. Om värdet på denna räknare konsekvent är under 4 MB, inträffar för många personsökningsoperationer.
Disk I/O-flaskhals i SQL Server
För Disk I/O-flaskhals, som uppstår på disken eller lagringen, bör prestandaräknarens värden under den fysiska och logiska disken i Perfmon-verktyget kontrolleras.
- Om en räknares värde, till exempel Disk sekunder / läs räknare, är större än 15-20 ms, är det vanligtvis ett diskprestandaproblem.
- Kontinuerliga höga värden för genomsnittliga Disk sekunder/skriv räknaren indikerar att det finns ett prestandaproblem på diskarna.
% disktid i SQL Server
Visar läs-/skrivtätheten för diskarna. Om detta värde är 80 %, är det underförstått att diskar används i stor utsträckning. Ett värde på 50 % eller mindre indikerar ingen diskflaskhals.
Gen. Diskkölängd i SQL Server
Den visar de som väntar i I/O som görs till disken. Om detta värde är konstant högt betyder det att disk- eller lagringsflaskhalsen startade.
Gen. Diskbyte/överföring i SQL Server
Visar den genomsnittliga mängden byte som behandlas under läsning och skrivning till disk. Ett högre värde betyder att Disk fungerar effektivt.
CPU-flaskhals
Det är lättare att se om systemet saktar ner från CPU:n jämfört med Memory och Disk I/O. Eftersom, efter att ha kontrollerat Minne och Disk, Om det fortfarande finns mer problem och om CPU-sidan behöver undersökas, kan System-CPU kontrolleras omedelbart. Om systemets CPU är 80 % betyder det att det finns ett problem, men i 50 % kan det fastställas att problemet inte orsakas av CPU:n.
Processor:% Processortid i SQL Server
Visar processorns aktiva körtid.
Om operativsystemet kan hantera förfrågningar utan att öka serverkölängden värde, då servas processerna så snabbt som möjligt.
Processor:% privilegierad tid
Visar CPU-tiden som tilldelats operativsystemet som SQL Server körs på.
Processor:% användartid
Visar CPU-tid som spenderas på andra aktiviteter som körs på operativsystemet.
Jag kommer att fortsätta att förklara felsökning av SQL-serverprestanda i nästa artikel.
SQL Server Performance Felsökning -4 Använda DMV ( Dynamic Management View ) och DMF ( Dynamic Management Function )