sql >> Databasteknik >  >> NoSQL >> MongoDB

Spåra MongoDB prestanda?

Det finns två saker här som du förmodligen kommer att vara bekant med.

  1. Förklara planer
  2. Långsamma loggar

Förklara planer

Här är några grundläggande dokument för att förklara. Att köra explain är så enkelt som db.foo.find(query).explain() . (observera att detta faktiskt kör frågan, så om din fråga är långsam kommer detta att vara för )

För att förstå resultatet bör du kontrollera några av dokumenten i de långsamma loggarna nedan. Du får i princip detaljer om "hur mycket index som skannades", "hur många som hittas", etc. Som är fallet med sådana prestandadetaljer, är tolkningen verkligen upp till dig. Läs dokumenten ovan och nedan för att peka dig i rätt riktning.

Långsamma loggar

Som standard är långsamma loggar aktiva med ett tröskelvärde på 100ms. Här är en länk till hela dokumentationen om profilering. Ett par viktiga punkter för att komma igång:

Hämta/ställ in profilering:

db.setProfilingLevel(2); // 0 => none, 1 => slow, 2 => all
db.getProfilingLevel();

Se långsamma frågor:

db.system.profile.find()


  1. Skillnad mellan Redis AOF och Tarantool WAL-logg

  2. Att hålla en MongoDB-databasanslutning öppen

  3. I NodeJS, hur matar man ut resultat från mongodb med olika fältnamn?

  4. Mongo DB relationer mellan objekt