sql >> Databasteknik >  >> NoSQL >> MongoDB

Analysera långsamma frågor i MongoDB

Vi är glada att kunna meddela allmänheten tillgängligheten av vår långsamma frågeanalysator för MongoDB! Med hjälp av analysatorn för långsamma frågor kan du snabbt identifiera långsamma frågor på någon av dina servrar under en viss tidsperiod. Som standard definieras "långsamma frågor" som frågor som tar längre tid än 100 ms.

Slow Query Heatmap

Värmekartan ger dig en snabb visuell översikt över de långsamma frågorna i ditt system. Diagrammets vertikala axel är exponentiell tid. Detta betyder att ju högre bubblan är i diagrammet, desto långsammare är frågan (i storleksordningar) – så håll ett öga på bubblorna som är konsekvent överst i ditt diagram. Du kan också klicka på en bubbla för att se detaljerna för den underliggande frågan.

Frågor av samma typ har samma färg. Detta gör att du enkelt kan identifiera mönster i dina långsamma frågor. Du kan också välja delar av grafen för att zooma in i ett visst tidsintervall.

T.ex. I exemplet ovan kan du se ett kluster av röda prickar som tar 10 sekunder+. Du kan också se att ett bakgrundsjobb som körs en gång i timmen tar 28 sekunder att utföra. Du kan klicka på datapunkten för att få den faktiska frågan.

Slow Query Data Tabell

Den långsamma frågedatatabellen ger dig en tabellvy över alla långsamma frågedata. Datatabellerna visar flera viktiga mätvärden om dina långsamma frågor:

  • Typ – Typ av frågan – fråga, infoga, uppdatera, ta bort etc.
  • Databas och insamling – Db och samling av frågan
  • Fråga – Den faktiska frågan med frågeparametrarna borttagna
  • Räkna – Antalet gånger som frågan kördes under den valda tidsperioden
  • nSkannade – Antalet skannade poster i indexet + antalet skannade objekt från samlingen
  • Längd(ms) – Den genomsnittliga exekveringstiden för frågan i ms
  • Svarslängd(byte) – Den genomsnittliga svarslängden för frågan resulterar i byte
  • nReturnerade - Det genomsnittliga antalet dokument som returneras per exekvering av frågan
  • Läslås (mikrosekunder) – Genomsnittlig läslåstid i mikrosekunder
  • Skrivlås (mikrosekunder) – Den genomsnittliga skrivlåstiden i mikrosekunder

Du kan sortera den långsamma frågetabellen efter någon av kolumnerna ovan för att skapa den vy du behöver. Frågedata kan också laddas ner till Excel för analys. Klicka på länken "Ladda ner data som csv" för att ladda ner långsam frågedata och göra din anpassade analys i Excel.

För att enkelt kunna identifiera problemfrågor tillhandahåller vi ett antal inbyggda vyer.

Långsamma frågor sorterade efter "Mest frekventa"

Denna vy visar (i fallande ordning) de frågor som exekveras oftast i systemet. Du vill vara särskilt uppmärksam på de vanligaste frågorna i listan. Om deras nScanned-värde är högt eller om varaktigheten är hög måste du lägga till lämpligt index för den här frågan. Detta minskar antalet dokument som skannas från disken.

Långsamma frågor sorterade efter "Max Docs/Index Scanned"

Den här vyn visar (i fallande ordning) de frågor som skannar flest indexposter eller flest dokument i en samling. Ett högt "nScanned"-värde innebär att du inte har ett index eller att du inte har rätt index. Det kanske inte är möjligt att lägga till ett index för varje fråga i systemet – men du bör se till att åtminstone dina högfrekventa frågor är väl indexerade.

Långsamma frågor sorterade efter "Långsammaste sökfråga"

Den här vyn visar (i fallande ordning) de frågor som tar maximal tid att köra. Om frågan körs mycket sällan kan du bestämma om du vill optimera den.

Långsamma frågor sorterade efter "Max Docs Returned"

Den här vyn visar (i fallande ordning) de frågor som ger flest resultat. Att returnera många resultat resulterar ofta i nätverksbelastning på systemet. Du bör också se till att du bara returnerar de fält du behöver från dokumentet och inte alla fält.

Långsamma frågor Sorterade efter "Läslås"

Denna vy visar (i fallande ordning) de frågor som förbrukar maximal läslåstid i mikrosekunder. Om du använder WiredTiger-lagringsmotorn är detta vanligtvis inte ett problem eftersom WiredTiger använder dokumentnivålåsning.

Långsamma frågor sorterade efter "Skrivlås"

Denna vy presenterar (i fallande ordning) de frågor som förbrukar maximal skrivlåstid i mikrosekunder. Om du använder WiredTiger-lagringsmotorn är detta vanligtvis inte ett problem eftersom WiredTiger använder dokumentnivålåsning.


  1. Hur beställer MongoDB sina dokument i en samling?

  2. Redis - Utgångna index tas inte bort

  3. Microsoft.Extensions.Caching.Redis väljer en annan databas än db0

  4. MongoDB:mata ut 'id' istället för '_id'