Aus dem Dokument , hieß es
"Für eine optimale Leistung sollte der Großteil Ihres aktiven Sets in den Arbeitsspeicher passen."
Also zum Beispiel mein db.stats()
gib mir
{
"db" : "mydb",
"collections" : 16,
"objects" : 21452,
"avgObjSize" : 768.0516501957859,
"dataSize" : 16476244,
"storageSize" : 25385984,
"numExtents" : 43,
"indexes" : 70,
"indexSize" : 15450112,
"fileSize" : 469762048,
"ok" : 1
}
Welcher Wert ist der working set size
?
Antworten:
Die SO-Frage / Antwort, die in den Kommentaren durch Quanten verknüpft ist, ist korrekt. Der "Arbeitssatz" ist im Grunde die Menge an Daten UND Indizes, die von Ihrem System aktiv / verwendet werden.
Sie können nicht sagen,
db.stats()
was das sein wird, es sei denn, Sie glauben, dass Sie den gesamten Datensatz und den gesamten Index im RAM haben müssen. Das heißt, Sie können den maximalen Arbeitssatz für diese Datenbank ermitteln, nicht jedoch den tatsächlich aktiven Arbeitssatz. Das Maximum ist die Summe aus:In Ihrem Fall würde dieses Maximum bei der von Ihnen eingefügten Ausgabe ungefähr 30,45 MiB betragen.
Zur Verfolgung der tatsächlichen Speichernutzung würde ich eine Kombination der Zahlen aus
db.stats()
und der Speicherdiagramme (insbesondere des residenten Speichers) empfehlen, die im kostenlosen Überwachungstool MMS verfügbar sind .Update (04.08.2013):
In Version 2.4 wurde dem Befehl serverStatus ein Working Set Size Estimator hinzugefügt. Dies ist nur eine Schätzung, kann jedoch als Leitfaden verwendet werden, um zu überprüfen, ob die anderen obigen Zahlen und Schätzungen für Ihre MongoDB-Instanz sinnvoll sind.
Update (September 2016):
Drei Jahre nach meiner ursprünglichen Antwort sind die Dinge viel komplizierter - im Allgemeinen ist es immer noch ein guter Ausgangspunkt, die Größe Ihrer Daten und Ihrer Indizes zu ermitteln. Das Herausfinden von Dingen in MongoDB hängt jetzt davon ab, welche Speicher-Engine Sie verwenden. Darüber hinaus hat Version 3.0 den oben für MMAP verknüpften Working Set-Schätzer im Rahmen der Sperrarbeiten auf Sammlungsebene entfernt (siehe SERVER-13783 ). Es gibt jetzt (zum Beispiel) die Cache-Statistik für die
WiredTiger
Engine als Ersatz, vorausgesetzt, Sie haben den Sprung zur neuen Engine gemacht. FürMMAP
ist die allgemeine Empfehlung an den aussehen Seitenfehlern Metrik als Proxy für , ob Ihre Daten in dem Speicher sind passend oder nicht.quelle
MMS
schon, aber ich bin mir nicht sicher, welche Figur ich sehen soll.