sql >> Databasteknik >  >> RDS >> Sqlserver

Vi presenterar uppspelning – ny tidpunktsdiagnos för Spotlight Cloud

Idag ska jag gå igenom en spännande ny funktion som heter "Uppspelning" som vi har lagt till i Spotlight Cloud.

Uppspelning gör att du kan diagnostisera problem som har inträffat tidigare med SQL Server. Med hjälp av Spotlight Clouds webbgränssnitt kan du välja en tidpunkt i det förflutna då din SQL Server upplevde prestandaproblem och "spela upp" vad som hände vid just den tidpunkten för att hjälpa dig att identifiera orsaken.

Fördelar med historisk data vid övervakning av databasprestanda

Vi är alla bekanta med frustrationen av att en användare rapporterar ett problem som de upplevde dagen innan, bara för att när man undersöker problemet upptäcka att allt fungerar bra.

Varför uppstod detta problem? Om de bara hade berättat för mig när det hände, hade jag kunnat göra något åt ​​det. Om jag bara kunde gå tillbaka och se vad som hände vid den exakta tiden.

Nåväl, nu kan du.

Med uppspelning kan du spola tillbaka upp till ett år och gå till den tidpunkt då ett problem uppstod och se vad som hände på servern.

Till exempel rapporterade användare långsamma prestanda när de skapade rapporter den sjätte mars. När jag tittar på den aktuella informationen kan jag inte få ett bra grepp om vad problemet är. Jag måste spola tillbaka och se hur servern presterade den dagen.

Val av tidsperiod för att nollställa databasproblem

Med hjälp av tidsperiodväljaren uppe till höger på skärmen (visas nedan), väljer jag datum och tid då problemet uppstod och trycker på tillämpa.

Översiktsskärmen laddas om och visar tillståndet för SQL Server den 6 mars.
Jag kan se de fem vanligaste larmen som inträffade vid den tiden och se att Session 76 blockerades i 112 sekunder klockan 13:32.

Detta skulle ha resulterat i långsammare serverprestanda. Så jag har nu hittat åtminstone en av orsakerna till problemet som slutanvändaren rapporterade – men vad orsakade den blockerade sessionen vid denna tidpunkt?

Drill-down för arbetsbelastningsanalys för kraftfulla insikter

Om jag klickar på "Diagnosera" och sedan på "Blockerad session" kan jag se Workload Analyzer-drill-down och se de blockerade sessionerna som inträffade vid den tiden. Om du tittar längst upp till höger på skärmen kan du se att tidsintervallet är detsamma som jag valde tidigare på översiktssidan. Så jag vet att jag tittar på de blockerade sessionerna som inträffade när problemet rapporterades.

Workload Analyzer Drill-Down visar den blockerade sessionen och vad den blockeras av.

Härifrån kan jag se detaljerna om den blockerade sessionen och vad som orsakade den. Jag kan också titta på låsta objekt och förstå vilket objekt som hade mest låst väntan.

Jag kan till och med gå ytterligare ett steg längre och borra ner för att se varaktigheten av blocket, maskinen, programmet och användaren som orsakade blockeringen.

Workload Analyzer Drill-Down visar vilket låst objekt som orsakar mest "Lock Wait"

När jag för muspekaren över diagrammet som visar resursfördelningen (nedan), kan jag se låsväntefrekvensen under det tidsintervall som användaren rapporterade att problemet uppstod. Denna förmåga att gå tillbaka och identifiera grundorsaken till problemet är varför den här nya uppspelningsfunktionen är så spännande.

Workload Analyzer Drill-Down visar "Lock Wait Rate" för ett låst objekt

Nu när vi är klara med det exemplet skulle jag vilja gå in på hur du faktiskt väljer ett tidsintervall och intervall i Spotlight Cloud. När du väljer tidpunkt eller tidsintervall för uppspelning kan du använda kontrollerna längst upp till höger för att anpassa hur uppspelningen ska visas för att passa dina behov.

SQL Server Översikt Drill-Down med "Time Period"-väljaren som visas.

Just nu tittar jag på tidsintervallet från den fjärde mars klockan 23:59. till den sjätte mars klockan 23:59. Om jag klickar på den här tillbakaspolningsknappen kan du se tidsintervallet minskas med en minut till 23:58.

Om jag vill gå tillbaka i större tidssteg än en minut kan jag använda rullgardinsmenyn för att ändra tidsintervallet till fem minuter, 30 minuter, en timme eller upp till 30 dagar. Jag har valt 30 minuter och du kan se tidsintervallets sluttid har gått tillbaka 30 minuter till 23:28.

SQL-serveröversikt med tidsintervall inställt på 30 minuter

Om jag klickar på alternativen "Tidsperiod" kan jag välja datumintervall med de förinställda alternativen för senaste timmen, senaste dagen, senaste 3 dagarna. Eller genom att klicka på "Mer" kan jag välja de senaste sju, 30 eller 90 dagarna.

Om jag, som i mitt tidigare exempel, vet vilket tidsintervall jag vill titta på, kan jag använda kalendern för att välja datum och sedan välja en specifik tid därifrån.

När jag är klar, eller om jag bara behöver byta tillbaka till nuet av någon anledning, kan jag klicka på "Återställ" och allt går tillbaka till sitt ursprungliga tillstånd.

Spolning bakåt eller framåt för nedjusteringar

En annan punkt som jag bör ta upp är att varje borrning har ett specifikt standardtidsintervall för tillbakaspolning och snabbspolning framåt. Anledningen till att de varierar är att för vissa nedborrningar är det vettigt att hoppa med ett kortare eller längre intervall. Ett exempel kan vara sessioner där det är mycket aktivitet, och det är vettigt att spola tillbaka eller framåt med en minut för att se vad som ändras varje minut. Men på Workload Analyzer, där syftet är att undersöka och identifiera problem, är det användbart att se trender, och därför är det inte lika användbart att spola tillbaka eller framåt med en minut. Det är därför Workload Analyzer har ett 30-minuters standardtidsintervall för bakåt och framåt.

Det är också viktigt att notera att när du väljer ett tidsintervall med uppspelning, kommer vissa mätvärden som visas att vara för den senaste punkten i det tidsintervallet. Om vi ​​till exempel tittar på skärmdumpen ovan är mätvärdet "Sidlivslängd" 20 sekunder. Detta mätvärde återspeglar sidans förväntade livslängd den sjätte mars kl. 23:28.

Men andra mätvärden, som "Genomsnittlig väntan per I/O" på I/O efter fil-drill-down (visas nedan), visar ett aggregerat värde eftersom det inte är meningsfullt att visa dessa data som ett genomsnitt från en enda tidpunkt.


I/O genom File Drill-Down

Denna uppspelningsfunktion är tillgänglig på alla detaljer för SQL Server med undantag för Heatmap och Health Check. Uppspelning är också tillgänglig på översikts- och larm-drill-downs för Windows, Hyper-V, VMWare och Unix.

Unix Översikt Drill-Down


  1. Hämtar XMLA för att analysera kubstruktur

  2. Returnera en lista över beräknade kolumner i SQL Server

  3. Hur man använder flera databaser dynamiskt för en modell i CakePHP

  4. En guide till databasautomatisering med Severalnines ClusterControl