Warum die Abfragen in der system.profile-Auflistung überschrieben werden

7

Ich versuche alle meine Anfragen zu sammeln, die mit mongodb in Bezug auf meine Anwendung geschehen. Also habe ich Profiling Level auf 2 eingerichtet, so dass es alle Abfragen protokolliert. Sobald sich der Benutzer anmeldet, werden als Teil der Architektur regelmäßige Aktualisierungen an mongodb vorgenommen.

Aber ich beobachtete, dass die system.profile -Zahl reduziert wird, weiß nicht warum

%Vor%

Warum werden in meinem Fall die Abfragen überschrieben?

Gibt es eine Möglichkeit, dass ich alle meine speziellen Anfragen für meine Anwendung aufzeichnen kann.

Ich brauche das, weil ich einige der Indizes auf einer meiner Sammlungen entfernen / hinzufügen kann.

    
Pawan 29.08.2013, 12:25
quelle

2 Antworten

20

system.profile ist eine Capped-Collection mit einer Standardgröße von 1 MB, so dass Dokumente auf der Basis natürlicher Daten (in Bezug auf den Zeitstempel) gelöscht werden, um Platz für neuere Dokumente zu schaffen.

Um die Größe der system.profile-Sammlung (sagen wir 10 MB) zu erhöhen, machen Sie:

1) Stop Profiler: db.setProfilingLevel(0)

2) Drop system.profile: db.system.profile.drop()

3) Erstellen Sie eine viel größere system.profile Sammlung: db.createCollection( "system.profile", { capped: true, size: 1024 * 1024 * 10 } )

4) Profil erneut aktivieren

Wenn im Durchschnitt eine 1-MB-Sammlung etwa 200-300 Dokumente enthält, passen die neuen Einstellungen in etwa 2.000-3.000 Dokumente. Erhöhen Sie die System.Profilgröße nach Bedarf.

    
Ori Dar 29.08.2013, 12:42
quelle
1

Hier ist der offizielle Dokumentationslink Ссылка

Sie müssen die Kollektion ändern, um die Größe von system.profile Collection

zu ändern     
blueskin 19.04.2016 17:50
quelle

Tags und Links