Dit hangt ook af van het soort vragen dat u afvuurt. Controleer of de onderstaande punten aanwezig zijn -
- zijn er veel aggregatiequery's? Wat voor soort collectiestructuur heb je, d.w.z.
- zijn er veel geneste arrays?
- Is het een enkele instantie of een replicaset? Probeer een replicaset met lezen en schrijven naar een ander knooppunt te plaatsen.
- Retourneren de zoekopdrachten gegevens uit meerdere verzamelingen?
- Controleer of uw instantie een paginafout vertoont voor hoeveel % van de bewerkingen?
- Controleer uw logboeken op bewerkingen met hoge nscanned of scanAndOrder tijdens perioden van hoge vergrendeling/wachtrij, en indexeer dienovereenkomstig.
- Controleer uw zoekopdrachten op CPU-intensieve operators zoals $all, $push/$pop/$addToSet, evenals updates voor grote documenten, en vooral updates voor documenten met grote arrays (of grote subdocumentarrays).
- als uw database schrijfzwaar is, houd er dan rekening mee dat er slechts één CPU per database tegelijk kan schrijven (omdat die thread de schrijfvergrendeling bevat). Overweeg een deel van die gegevens naar zijn eigen database te verplaatsen.
Dit zijn enkele dingen die de prestaties in de loop van de tijd verminderen. Ik heb hier de meest voorkomende gebruiksscenario's behandeld, maar controleer dit bericht voor wat meer inzichten.