Applikations- och systemprestanda spelar en stor roll för hur en användare uppfattar din produkts värde och ditt företags kompetens. Om samma sida ständigt tar slut eller det tar en evighet att komma åt en kritisk rapport, kommer ditt databassystems prestanda att skapa ett förtroendeproblem för din organisation.
Hög tillgänglighet och pålitlig prestanda är nyckeln till att hålla kunder och interna systemanvändare nöjda, och de kan till och med påverka ditt resultat. Med dessa mål i åtanke är det ett måste att implementera en omfattande SQL Server-prestandaövervakningsstrategi.
Fördelar med SQL Server Performance Monitoring
Den vanligaste fördelen med prestandaövervakning är att det är lätt att felsöka och lösa problem. Ett välkonfigurerat SQL Server-övervakningsverktyg är det mest effektiva sättet att hitta och åtgärda server- och databasproblem snabbt innan de påverkar slutanvändarna eller blir stora, dyra problem.
Förutom att upprätthålla systemets hälsa kan implementering av SQL Server-prestandaövervakning hjälpa till att hålla nere dina infrastrukturkostnader. Ett exempel är onödiga lagringskostnader. När SQL Server-prestanda är optimerad övervakas filstorlekstillväxten kontinuerligt. En alltför stor ökning av filstorleken utlöser en varning så att problemet kan lösas innan diskutrymmet tar slut och ytterligare resurser kastas på problemet.
Och om du väljer en molnbaserad övervakningslösning kan du öka ROI ytterligare genom att säga adjö till utgifterna för boende och underhåll av fysiska servrar.
Spåra dessa mätvärden för att förbättra din SQL Server-prestanda
Vi vet att övervakning av SQL Server-prestanda är en utmärkt strategi för att åtgärda problem och spara pengar, men du kommer inte att få full nytta av ditt SQL Server-övervakningsverktyg om du inte spårar rätt mätvärden. För att få optimal prestanda från SQL Server, här är fem områden du vill titta på och de viktigaste mätvärdena att spåra från varje.
1. Buffertcache
Buffertcachen lagrar kopior av nyligen använda databassidor. SQL Server letar först i cachen, men om den inte hittar det den letar efter där går den till disken. Läsning från disken är långsam, vilket kan påverka prestandan negativt.
Cacheträffförhållande
Cacheträffförhållande visar hur ofta SQL Server kommer åt sidor från cache. Högre värden indikerar att sidorna nås från minnet och inte från disken. Om du konsekvent ser en låg cacheträffförhållande, kontrollera om det finns en flaskhals i systemminnet.
Sidlivslängd
Övervakning av sidans förväntade livslängd visar hur länge en sida finns kvar i minnet istället för att läggas till disken. Ju längre förväntad livslängd på sidan, desto bättre cacheträffförhållande.
Checkpoint Pages/Sec
SQL Server ställer in kontrollpunkter för att frigöra utrymme i buffertcachen genom att regelbundet spola modifierade sidor från bufferten till disken. Antalet tömda sidor beror på konfigurationsinställningar och serveranvändning, så det är viktigt att sätta en baslinje för jämförelse. Om du märker en ökning av antalet sidor som töms kan du ha ett I/O-problem.
2. Index
Databasindex hjälper till att påskynda operationer i tabeller med många poster. Även om index är ett användbart verktyg för att förbättra vissa databasfunktioner, finns det inneboende problem med index som kan försämra prestandan om de inte fångas upp snabbt.
Fragmentering
Indexfragmentering uppstår när poster läggs till och raderas. Med tiden orsakar dessa ändringar prestandaproblem genom att lämna för mycket tomt utrymme på för många sidor och lägga till nya sidor i oordning. Detta kan sakta ner skanningar och använda för mycket minne.
Övervakning av indexfragmentering låter dig veta när du behöver köra Rebuild eller Reorganize på ett index för att fixa fragmenteringen och förbättra prestandan.
Fyllningsfaktor och siddelning
Fyllningsfaktorinställningen låter dina index veta hur full varje sida ska vara. Om en sida är för full uppstår siddelningar; om en sida inte är tillräckligt full slösar du på resurser.
Spårning av siddelning kan hjälpa till att identifiera när en fyllningsfaktorjustering behövs. För bästa prestanda, ställ inte in ett systemomfattande fyllningsfaktorvärde. Utvärdera individuella index och ställ in fyllningsfaktorn på en lämplig nivå för varje.
3. T-SQL
För att optimera prestanda batchar SQL Server SQL-satser, kompilerar dem sedan till exekveringsplaner och cachar dem för återanvändning. Om SQL Server inte kan återanvända exekveringsplanen, kompileras planen om, vilket använder mycket CPU och försämrar prestandan. Därför är det bäst att hålla antalet omkompilerade SQL-satser så lågt som möjligt.
Övervakningshastigheter för SQL-kompilering och omkompilering visar om du behöver konfigurera om vissa områden, såsom lagrade procedurer och frågeparametrar.
4. Blockerar
Blockering av SQL Server orsakas av att flera klienter och processer begär åtkomst till samma resurser samtidigt. Om en resurs redan används är åtkomsten låst och resursen är inte tillgänglig för efterföljande förfrågningar. Detta stoppar processen tills resursen släpps och är tillgänglig igen.
Lås väntar
Förfrågningar behöver normalt inte vänta på lås, så detta mått bör hålla sig runt noll. En ökning av låsväntetider indikerar ett problem med laddningstiden, så du måste spåra grundorsaken till problemet.
Blockerade processer
Att spåra blockerade processer är ett bra sätt att undvika många e-postmeddelanden som informerar dig om en blockerad process. Använd SQL Server Profiler för att samla in data om blockerade processer och granska rapporten regelbundet.
5. Resursanvändning
Att spåra resursanvändningsstatistik är ett effektivt sätt att inte bara lokalisera prestandaproblem utan också för att hjälpa till med kapacitetsplanering.
Radräkning
Övervakning av radantal ger direkt, lätt spårbar insikt i mängden data som är associerad med en viss tabell över tid. En oväntad ökning eller minskning av radantalet bör föranleda en utredning av orsaken.
Databasfil I/O
Genom att mäta I/O-mått mot databasfiler kan du spåra hur mycket data som skrivs och läses av en given datafil. Om du upptäcker ett potentiellt problem kan det här mätvärdet hjälpa till att begränsa grundorsaken. Spårning av databasfil I/O hjälper också till med infrastrukturplanering eftersom det kan hjälpa dig att förutsäga framtida datagenomströmning och justera resurserna därefter.
Storlek för säkerhetskopiering av transaktionslogg
När en server kraschar på grund av överbelastning, använder SQL Server databasloggposterna som lagras i virtuella loggfiler (VLF) för att återställa. Det är viktigt att övervaka hur många VLF som finns i transaktionsloggen, eftersom för många kan sakta ner återställningsprocesserna vid återställning efter ett avbrott.
Prestandaövervakning av SQL Server är en avgörande komponent i en organisations kvalitetskontrollstrategi. Att spåra några viktiga prestandamått kan ge dig ett rykte om att ge dina användare ett system som de kan lita på och lita på; Om du inte gör det kan ditt system bli ännu en buggyapplikation som användare fruktar.