sql >> Database >  >> NoSQL >> MongoDB

Langzame zoekopdrachten analyseren in MongoDB

We zijn verheugd om de beschikbaarheid van onze trage queryanalysator voor MongoDB aan het publiek aan te kondigen! Met behulp van de analysefunctie voor trage zoekopdrachten kunt u snel trage zoekopdrachten op al uw servers gedurende een bepaalde periode identificeren. Standaard worden "langzame zoekopdrachten" gedefinieerd als zoekopdrachten die langer dan 100 ms duren.

Slow Query Heatmap

De hittekaart geeft u een snel visueel overzicht van de langzame zoekopdrachten in uw systeem. De verticale as van de grafiek is de exponentiële tijd. Dit betekent dat hoe hoger de ballon in de grafiek staat, hoe langzamer de zoekopdracht (in ordes van grootte) - dus houd de bubbels in de gaten die consequent bovenaan uw grafiek staan. U kunt ook op een ballon klikken om de details van de onderliggende zoekopdracht te zien.

Query's van hetzelfde type hebben dezelfde kleur. Zo kunt u gemakkelijk patronen herkennen in uw langzame zoekopdrachten. U kunt ook delen van de grafiek selecteren om in te zoomen op een bepaald tijdbereik.

bijv. In het bovenstaande voorbeeld zie je een cluster van rode stippen die 10 sec.+ duren. U kunt ook zien dat een achtergrondtaak die eenmaal per uur wordt uitgevoerd, 28 seconden duurt om uit te voeren. U kunt op het gegevenspunt klikken om de eigenlijke vraag te krijgen.

Tabel met trage querygegevens

De tabel met langzame querygegevens geeft u een tabelweergave van alle langzame querygegevens. De gegevenstabellen tonen verschillende belangrijke statistieken over uw langzame zoekopdrachten:

  • Type - Type van de zoekopdracht - zoekopdracht, invoegen, bijwerken, verwijderen, enz.
  • Database en verzameling – De Db en verzameling van de zoekopdracht
  • Query – De eigenlijke zoekopdracht met de zoekparameters verwijderd
  • Tellen – Het aantal keren dat de zoekopdracht is uitgevoerd in de geselecteerde tijdsperiode
  • nGescand – Het aantal gescande items in de index + aantal gescande objecten uit de collectie
  • Duur (ms) – De gemiddelde uitvoeringstijd van de query in ms
  • Reactielengte (bytes) – De gemiddelde antwoordlengte van het zoekresultaat in bytes
  • nTeruggestuurd - Het gemiddelde aantal geretourneerde documenten per uitvoering van de zoekopdracht
  • Lees slot (microsec) – De gemiddelde leesvergrendelingstijd in microseconden
  • Schrijfslot (microsec) – De gemiddelde schrijfvergrendelingstijd in microseconden

U kunt de tabel met trage zoekopdrachten sorteren op een van de bovenstaande kolommen om de gewenste weergave samen te stellen. De querygegevens kunnen ook worden gedownload naar Excel voor analyse. Klik op de link 'Gegevens downloaden als csv' om de trage querygegevens te downloaden en uw aangepaste analyse in Excel uit te voeren.

Om probleemvragen gemakkelijk te identificeren, bieden we een aantal ingebouwde weergaven.

Langzame zoekopdrachten gesorteerd op "meest frequent"

In deze weergave worden (in aflopende volgorde) de query's weergegeven die het vaakst in het systeem worden uitgevoerd. U wilt bijzondere aandacht besteden aan de topvragen in de lijst. Als hun nScanned-waarde hoog is of als de duur hoog is, moet u de juiste index voor deze query toevoegen. Dit vermindert het aantal documenten dat vanaf de schijf wordt gescand.

Langzame zoekopdrachten gesorteerd op "Max Docs/Indexes Scanned"

In deze weergave worden (in aflopende volgorde) de zoekopdrachten weergegeven die de meeste indexitems of de meeste documenten in een verzameling scannen. Een hoge ‘nScanned’-waarde houdt in dat je geen index hebt of niet de juiste index hebt. Het is misschien niet mogelijk om voor elke zoekopdracht in het systeem een ​​index toe te voegen, maar u moet ervoor zorgen dat in ieder geval uw hoogfrequente zoekopdrachten allemaal goed worden geïndexeerd.

Langzame zoekopdrachten gesorteerd op "Langzaamste zoekopdracht"

In deze weergave worden (in aflopende volgorde) de query's weergegeven die de meeste tijd nodig hebben om uit te voeren. Als de zoekopdracht zeer zelden wordt uitgevoerd, kunt u beslissen of u deze wilt optimaliseren.

Langzame zoekopdrachten gesorteerd op 'Maximum geretourneerde documenten'

In deze weergave worden (in aflopende volgorde) de zoekopdrachten weergegeven die de meeste resultaten opleveren. Het retourneren van veel resultaten resulteert vaak in netwerkbelasting op het systeem. Je moet er ook voor zorgen dat je alleen de velden retourneert die je nodig hebt uit het document en niet alle velden.

Langzame zoekopdrachten gesorteerd op 'Leesvergrendeling'

Deze weergave presenteert (in aflopende volgorde) de query's die de maximale leesvergrendelingstijd in microseconden in beslag nemen. Als u de WiredTiger-opslagengine gebruikt, is dit meestal geen probleem, aangezien WiredTiger vergrendeling op documentniveau gebruikt.

Langzame zoekopdrachten gesorteerd op "Schrijfslot"

Deze weergave presenteert (in aflopende volgorde) de query's die de maximale schrijfvergrendelingstijd in microseconden in beslag nemen. Als u de WiredTiger-opslagengine gebruikt, is dit meestal geen probleem, aangezien WiredTiger vergrendeling op documentniveau gebruikt.


  1. Redis, verlopen sessie en reverse lookup

  2. Uitzondering voor authenticatie van MongoCredential en Uncategorized Mongo Db Exception

  3. Hoe de array in het verzamelingsrecord in MongoDB te sorteren?

  4. MongoDB $max