sql >> Databasteknik >  >> RDS >> Sqlserver

Övervakning av prestandaräknare via PERFMON | Felsökning av SQL Server-prestanda -3

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 )

Vill du lära dig Microsoft SQL Server DBA-handledningar för nybörjare, klicka och läs följande artiklar.

  1. Konstigt beteende i Postgresql

  2. mysql kontrollera om siffror finns i en kommaseparerad lista

  3. FEL 1044 (42000):Åtkomst nekad för användare ''@'localhost' till databasen 'db'

  4. bygga en dynamisk SQL-fråga med psycopg2 python-bibliotek och använda bra konverteringsverktyg