mongodb database profiler
Erfahren Sie alles über MongoDB Database Profiler zur Überwachung von Datenbankabfragen und -leistung:
In diesem F. ree MongoDB Trainingsreihe haben wir erfahren MongoDB-Leistung in unserem vorherigen Tutorial.
In diesem Tutorial erfahren Sie alles über MongoDB Database Profiler im Detail.
Der Datenbankprofiler wird verwendet, um Informationen zu den Abfragen zu sammeln, die auf einer einzelnen Datenbankinstanz ausgeführt werden.
Wenn Sie mit einer Anwendung auf Unternehmensebene arbeiten und gleichzeitig Abfragen ausgeführt haben, müssen Sie bei einigen Abfragen möglicherweise auf einen Deadlock stoßen.
Um die Abfrage zu identifizieren, bei der Sie mit dem Deadlock oder anderen Problemen konfrontiert sind, gibt es eine Funktion namens Profiler. MongoDB bietet diese Funktion auch an, um das Protokoll einer einzelnen Abfrage aufzuzeichnen, die ausgeführt wird. Diese Protokolle zeichnen alle Rohvorgänge zusammen mit Konfigurations- und Verwaltungssteuerungen auf.
Standardmäßig werden alle Daten innerhalb der aufgezeichnet system.profiles Sammlung innerhalb der MongoDB-Administratorinstanz.
Der Profiler ist standardmäßig aufgrund des hohen Speicherverbrauchs deaktiviert. Es gibt drei verschiedene Ebenen des Profilers, um die Informationen zu den Abfragen aufzuzeichnen, und Sie können problemlos jede Ebene des Profilers für jede Instanz von MongoDB festlegen.
Was du lernen wirst:
- Aktivieren und Konfigurieren der Profilerstellung für Datenbanken
- Überprüfen Sie den Grad der Profilerstellung
- Profilerstellung deaktivieren
- Overhead-Profiler
- Ändern Sie die Größe der primären Sammlung system.profile
- Fazit
- Literatur-Empfehlungen
Aktivieren und Konfigurieren der Profilerstellung für Datenbanken
Der Datenbank-Profiler wird durch den Befehl profile mit Hilfe der Mongo-Shell aktiviert. Wenn Sie den Profiler aktivieren, um den Datensatz der Abfrageausführung zu protokollieren, müssen Sie den Grad der Profilerstellung angeben. Mit Hilfe des folgenden Codes werden wir die Profilerstellung für MongoDB aktivieren.
Syntax
db.setProfilingLevel(LEVEL)
Code
db.setProfilingLevel(2)
Abbildung 1: In Mongo Shell
Abbildung 2: In Robo 3T
Im obigen Bild können Sie beobachten, dass es vier Ergebnisse gibt. Im ersten Feld wird die zuvor verwendete Profilebene angezeigt, und im letzten Feld wird der Erfolg der Operation angezeigt.
Überprüfen Sie den Grad der Profilerstellung
Um eine Vorschau der aktuellen Ebene des Profilers anzuzeigen, müssen Sie den folgenden Code verwenden.
Code
db.getProfilingStatus()
Es zeigt Ihnen den aktuellen und zuvor verwendeten Profiler-Status.
Abbildung 3: In Mongo Shell
Was ist Uat in Software-Tests
Abbildung 4: In Robo 3T
- war das aktuelle Profilierungsniveau.
- Slowms Feld zeigt das Betriebszeitlimit in Millisekunden.
- Beispielrate Zeigt den Prozentsatz der zu profilierenden langsamen Operationen an.
Um nur die Profiler-Ebene zu erhalten, können Sie db.getProfilingLevel () in der Mongo-Shell verwenden.
Code
db.getProfilingLevel()
Abbildung 5: In Mongo Shell
Abbildung 6: In Robo 3T
Profilerstellung deaktivieren
Wenn Sie den Profiler deaktivieren möchten, können Sie den folgenden Code verwenden, um die Protokollierung der Abfrageausführungsinformationen zu beenden.
Code
db.setProfilingLevel(0)
Abbildung 7: In Mongo Shell
Abbildung 8: In Robo 3T
Overhead-Profiler
Wenn Sie den Datensatz der Abfrageausführung protokollieren oder den Profiler verwenden, wirkt sich dies wahrscheinlich auf die Leistung der Abfrageausführung aus. Standardmäßig verfügt die Profiler-Sammlung über 1 MB Speicher zum Speichern der Informationen.
Wenn Sie eine große Anwendung und viele Transaktionsdaten haben, ist es ein Aufwand, viele Informationen als Profiler zu speichern.
Ändern Sie die Größe der primären Sammlung system.profile
Bevor Sie die Sammlungsgröße von system.profiles ändern, müssen Sie folgende Schritte ausführen:
- Profilerstellung deaktivieren
- Löschen Sie das Erfassungssystem.profile
- Erstellen Sie eine new.profile-Systemsammlung
- Profilerstellung reaktivieren
Code
db.setProfilingLevel(0) db.system.profile.drop() db.createCollection( 'system.profile', { capped: true, size:4000000 } ) db.setProfilingLevel(1)
Abbildung 9: In Mongo Shell
Abbildung 10: In Robo 3T
Fazit
Der MongoDB-Datenbankprofiler wird verwendet, um die Abfragen und ihre Leistung innerhalb der MongoDB-Instanz zu überwachen. Wir können Abfragen auf verschiedenen Ebenen der Profilerstellung überwachen, wie im vorherigen Lernprogramm erläutert.
verknüpfter Listenknoten c ++
In diesem Tutorial haben wir erfolgreich gelernt, wie Sie die Profilebene wechseln und wie Sie sie gemäß unseren Anforderungen deaktivieren können. Wir können auch den erforderlichen Schwellenwert zum Speichern des Profiler-Datensatzes festlegen.
In unserem nächsten Tutorial erfahren Sie, wie Benutzer in MongoDB erstellt und Rollen zugewiesen werden.
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- MongoDB-Leistung: Sperren der Leistung, Seitenfehler und Datenbankprofile
- MongoDB Datenbanksicherung erstellen
- MongoDB Tutorial zum Erstellen einer Datenbank
- Datenbanktests mit JMeter
- MongoDB Sort () -Methode mit Beispielen
- 20+ MongoDB Tutorial für Anfänger: Kostenloser MongoDB Kurs
- Benutzerauthentifizierung in MongoDB
- Was ist MongoDB-Replikation?