MongoDB lädt Dokumente im RAM vor, um eine bessere Leistung zu erzielen

Ich möchte, dass MongoDB die Abfrageergebnisse für einen längeren Zeitraum im RAM speichert (z. B. 30 Minuten, wenn Speicher verfügbar ist). Ist es möglich? ODER gibt es eine Möglichkeit, um sicherzustellen, dass die Daten in RAM vorab geladen werden, bevor weitere Abfragen darauf erfolgen.

Tatsächlich wundere ich mich über die Leistung der einfachen Abfrageergebnisse durch MongoDB. Ich habe einen dedizierten Server mit 10 GB RAM und meine db.stats () lauten wie folgt:

db.stats();
{
    "db": "test",
    "collections":16,
    "objects":625690,
    "avgObjSize":68.90,
    "dataSize":43061996,
    "storageSize":1121402888,
    "numExtents":74,
    "indexes":25,
    "indexSize":28207200,
    "fileSize":469762048,
    "nsSizeMB":16,
    "ok":1
}

Jetzt, wenn ich einzelne Dokumente abfragen (wie hier erwähnt) von einem Webservice wird es in 1,3 Sekunden geladen. Nachfolgende Aufrufe derselben Abfragen geben eine Antwort in 400 ms und nach einigen Sekunden dauert es wieder 1,3 Sekunden. Es sieht so aus, als ob MongoDB das zuvor abgefragte Dokument aus dem Arbeitsspeicher verloren hat, da keine weiteren Abfragen nach im Arbeitsspeicher zugeordneten Daten erforderlich sind.

Bitte erläutern Sie dies und lassen Sie mich wissen, wie Sie spätere Anfragen schneller beantworten können.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage