sql >> Databasteknik >  >> RDS >> Sqlserver

Knep för kontinuerlig förbättring av databasövervakning

Databasprestandaproblem är inte ovanliga. Lyckligtvis finns det oftast en ganska intuitiv lösning på de flesta problem. Det viktigaste en DBA kan göra för att åtgärda problem snabbt och förbättra SQL Server-prestanda är att se till att din prestationsövervakningsstrategi är uppdaterad och anpassad till dina databasövervakningsbehov. Om det inte är det är det dags att vidta åtgärder.

Det första steget för att förbättra din databasövervakning är att bedöma din nuvarande situation. Du kommer inte att veta var din övervakning saknas eller om övervakningen förbättrar några av dina prestandaproblem om du inte gör en baslinjemätning av din utgångspunkt.

För att ställa in din prestandabaslinje måste du bedöma tillståndet för dina SQL Server-databaser genom att ställa några frågor till dig själv:

Är frågor optimerade? Underpresterande frågor är ett säkert sätt att bromsa prestanda. Det finns många knep du kan prova för att rensa dina frågor, men det bästa alternativet är att implementera en frågeoptimerare som analyserar och skriver om dina frågor tills den hittar en som är snabbare.

Är index i bra skick? Indexering gjord på rätt sätt är tänkt att påskynda datahämtning. Det finns dock några vanliga problem som kan bromsa prestandan, inklusive ineffektiva fyllfaktorinställningar och siddelningar. Det bästa sättet att undvika dessa prestandaproblem är att inte ställa in ett systemomfattande fyllningsfaktorvärde och titta på behoven för varje index individuellt.

Är mycket data fragmenterad? Fragmenterade data påverkar prestanda genom att lägga för mycket tomt utrymme på en sida eller genom att sidor läggs till. Servern måste skanna och söka efter fragmenterad data, vilket gör att databasen går långsamt. Att köra Rebuild eller Reorganize kan rensa upp fragmentering.

Är det någonting som äter CPU? Databaser saktar ner när processorn belastas av flera resurser. Bedöm CPU-belastningen och avgör om problemet är att du behöver lägga till mer CPU eller att det finns ineffektiva resurser som använder mer CPU än de borde.

När du har en ögonblicksbild av startlinjen har du en bättre uppfattning om vilka typer av övervakningsförbättringar du behöver fokusera på. Här är fem sätt du kan förbättra din SQL Server-databasövervakning.

1. Bedöm dina övervakningsintervall och rensa data så ofta som möjligt

Verktyg för prestandaövervakning ger oändliga val för vilka mätvärden som ska övervakas, när data ska hämtas och hur länge data ska sparas. Om du övervakar flera instanser är mängden data du samlar in potentiellt häpnadsväckande (och dyr att lagra).

För att hålla din data på en hanterbar nivå, samla inte in data oftare än du måste och behåll bara data tillräckligt länge för att upptäcka trender. När du har registrerat något av intresse, arkivera eller bli av med informationen.

2. Kontrollera att dina frågor fungerar effektivt

Det finns många ställen för prestandaproblem att gömma sig i SQL Server. Eftersom databasapplikationer ofta kör SQL-frågor, är det ett utmärkt ställe att utvärdera tillståndet för dina frågor för att börja eliminera problem.

Om du till exempel övervakar hur frågor presterar över tiden hjälper dig att isolera alla som använder mer resurser än normalt. När du har identifierat problematiska frågor kan du köra varje fråga för att fastställa den specifika källan till problemet och rätta till det.

3. Granska Perfmon-räknare och inställningar

SQL Server Performance Monitor (Perfmon) är ett värdefullt verktyg som hjälper DBA:er att isolera svaga punkter i sina SQL Server-databaser. Perfmon låter dig ställa in prestandaräknare för var och en av dina servrar för att identifiera CPU-flaskhalsar, diskprestanda, minnesproblem och mycket mer.

Den här artikeln av Brent Ozar förklarar hur du kommer igång med att använda Perfmon och beskriver några bästa metoder.

4. Konfigurera dina varningar baserat på svårighetsgrad

Även om det finns många tillgängliga varningskonfigurationer är det bäst att vara selektiv när du konfigurerar varningar så att du inte ger efter för larmtrötthet. En bra tumregel är att ställa in varningar för problem med allvarlighetsgrad 17 eller högre och för felmeddelanden 823, 824 och 825 – med andra ord de problem som kan leda till att dina servrar går offline, allvarlig datakorruption eller dataförlust.

5. Dra nytta av alla larmhanteringsfunktioner som ditt SQL Server-prestandaövervakningsverktyg erbjuder

SQL Server-övervakningslösningar erbjuder ett brett utbud av hanteringsfunktioner. Ta dig tid att lära känna ditt verktygs funktioner och se till att du får ut det mesta värdet för din investering.

Några funktioner att leta efter som hjälper dig att förbättra din prestandaövervakningsprocess är:

Regler: Låter dig anpassa vilka larm som utlöses och när

Diagnostik: Meddelar dig att det finns ett problem och erbjuder sedan möjliga korrigeringar

Frågeprioritering: Fokuserar din uppmärksamhet på de svåraste problemen först

Mobila varningar: Låter dig komma åt, bedöma och börja utlösa larm var som helst när som helst

Brusreducering: Hjälper dig att undvika larmtrötthet genom att bara ta emot de aviseringar du behöver


  1. Skala PostgreSQL med Connection Poolers &Load Balancers

  2. Hur man hittar LEFT OUTER JOIN eller RIGHT OUTER JOIN med ORACLE JOIN (+)

  3. En översikt över JSON-funktioner inom PostgreSQL

  4. Mysql:Beställa efter like?