MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Analysieren langsamer Abfragen in MongoDB

Wir freuen uns, der Öffentlichkeit die Verfügbarkeit unseres langsamen Abfrageanalysators für MongoDB bekannt zu geben! Mit dem Analysetool für langsame Abfragen können Sie schnell langsame Abfragen auf einem Ihrer Server über einen bestimmten Zeitraum hinweg identifizieren. Standardmäßig sind „langsame Abfragen“ als Abfragen definiert, die länger als 100 ms dauern.

Heatmap für langsame Abfragen

Die Heatmap gibt Ihnen einen schnellen visuellen Überblick über die langsamen Abfragen in Ihrem System. Die vertikale Achse des Diagramms ist die Exponentialzeit. Das bedeutet, je höher die Blase im Diagramm ist, desto langsamer ist die Abfrage (um Größenordnungen) – behalten Sie also die Blasen im Auge, die sich ständig an der Spitze Ihres Diagramms befinden. Sie können auch auf eine Blase klicken, um die Details der zugrunde liegenden Abfrage anzuzeigen.

Abfragen des gleichen Typs haben die gleiche Farbe. So können Sie Muster in Ihren langsamen Abfragen leicht erkennen. Sie können auch Teile des Diagramms auswählen, um in einen bestimmten Zeitbereich hineinzuzoomen.

Z.B. Im obigen Beispiel sehen Sie eine Ansammlung roter Punkte, die mindestens 10 Sekunden dauert. Sie können auch sehen, dass die Ausführung eines Hintergrundjobs, der einmal pro Stunde ausgeführt wird, 28 Sekunden dauert. Sie können auf den Datenpunkt klicken, um zur eigentlichen Abfrage zu gelangen.

Datentabelle für langsame Abfragen

Die Datentabelle für langsame Abfragen bietet Ihnen eine tabellarische Ansicht aller Daten für langsame Abfragen. Die Datentabellen zeigen mehrere wichtige Messwerte zu Ihren langsamen Abfragen an:

  • Typ - Art der Abfrage – Abfrage, Einfügen, Aktualisieren, Entfernen usw.
  • Datenbank &Sammlung – Die Datenbank und Sammlung der Abfrage
  • Abfrage – Die eigentliche Abfrage mit entfernten Abfrageparametern
  • Zählen – Die Häufigkeit, mit der die Abfrage im ausgewählten Zeitraum ausgeführt wurde
  • ngescannt – Die Anzahl der gescannten Einträge im Index + Anzahl der gescannten Objekte aus der Sammlung
  • Dauer (ms) – Die durchschnittliche Ausführungszeit der Abfrage in ms
  • Antwortlänge (Byte) – Die durchschnittliche Antwortlänge des Abfrageergebnisses in Bytes
  • nZurückgegeben - Die durchschnittliche Anzahl der pro Ausführung der Abfrage zurückgegebenen Dokumente
  • Lesesperre (Mikrosekunden) – Die durchschnittliche Lesesperrzeit in Mikrosekunden
  • Schreibsperre (Mikrosekunden) – Die durchschnittliche Schreibsperrzeit in Mikrosekunden

Sie können die Tabelle mit langsamen Abfragen nach einer der oben genannten Spalten sortieren, um die gewünschte Ansicht zu erstellen. Die Abfragedaten können zur Analyse auch in Excel heruntergeladen werden. Klicken Sie auf den Link „Daten als CSV herunterladen“, um die langsamen Abfragedaten herunterzuladen und Ihre benutzerdefinierte Analyse in Excel durchzuführen.

Um problematische Abfragen einfach zu identifizieren, stellen wir eine Reihe integrierter Ansichten bereit.

Langsame Abfragen sortiert nach „Am häufigsten“

Diese Ansicht zeigt (in absteigender Reihenfolge) die Abfragen, die am häufigsten im System ausgeführt werden. Achten Sie besonders auf die obersten Suchanfragen in der Liste. Wenn ihr nScanned-Wert hoch ist oder die Dauer hoch ist, müssen Sie den entsprechenden Index für diese Abfrage hinzufügen. Dadurch wird die Anzahl der vom Datenträger gescannten Dokumente reduziert.

Langsame Abfragen sortiert nach „Max. gescannte Dokumente/Indizes“

Diese Ansicht zeigt (in absteigender Reihenfolge) die Abfragen, die die meisten Indexeinträge oder die meisten Dokumente in einer Sammlung durchsuchen. Ein hoher „nScanned“-Wert impliziert, dass Sie keinen oder nicht den richtigen Index haben. Es ist möglicherweise nicht möglich, für jede Suchanfrage im System einen Index hinzuzufügen – aber Sie sollten sicherstellen, dass zumindest Ihre hochfrequenten Suchanfragen alle gut indexiert sind.

Langsame Abfragen sortiert nach „Langsamste Abfrage“

Diese Ansicht zeigt (in absteigender Reihenfolge) die Abfragen an, deren Ausführung am längsten dauert. Wenn die Abfrage sehr selten ausgeführt wird, können Sie entscheiden, ob Sie sie optimieren möchten.

Langsame Abfragen, sortiert nach „Max. zurückgegebene Dokumente“

Diese Ansicht zeigt (in absteigender Reihenfolge) die Abfragen, die die meisten Ergebnisse zurückgeben. Die Rückgabe vieler Ergebnisse führt häufig zu einer Netzwerklast auf dem System. Sie sollten auch sicherstellen, dass Sie nur die Felder zurückgeben, die Sie aus dem Dokument benötigen, und nicht alle Felder.

Langsame Abfragen sortiert nach „Lesesperre“

Diese Ansicht zeigt (in absteigender Reihenfolge) die Abfragen, die die maximale Lesesperrzeit in Mikrosekunden verbrauchen. Wenn Sie die WiredTiger-Speicher-Engine verwenden, ist dies normalerweise kein Problem, da WiredTiger eine Sperrung auf Dokumentebene verwendet.

Langsame Abfragen sortiert nach „Schreibsperre“

Diese Ansicht zeigt (in absteigender Reihenfolge) die Abfragen, die die maximale Schreibsperrzeit in Mikrosekunden verbrauchen. Wenn Sie die WiredTiger-Speicher-Engine verwenden, ist dies normalerweise kein Problem, da WiredTiger eine Sperrung auf Dokumentebene verwendet.