Dette afhænger også af den slags forespørgsler, du affyrer. Tjek venligst om nedenstående punkter er der -
- er der mange aggregeringsforespørgsler? Hvilken slags samlingsstruktur har du, dvs.
- er der mange indlejrede arrays?
- Er det en enkelt forekomst eller et replikasæt? Prøv at sætte et replikasæt med læs og skriv til en anden node.
- Returnerer forespørgslerne data fra flere samlinger?
- Tjek, hvor mange % af handlingerne i din instans er sidefejl?
- Tjek dine logfiler for operationer med høj nscanned eller scanAndOrder i perioder med høj låsning/kø, og indekser i overensstemmelse hermed.
- Tjek dine forespørgsler for CPU-intensive operatører som $all, $push/$pop/$addToSet, samt opdateringer til store dokumenter og især opdateringer til dokumenter med store arrays (eller store underdokumentarrays).
- hvis din database er skrivetung, skal du huske, at kun én CPU pr. database kan skrive ad gangen (på grund af den tråd, der holder skrivelåsen). Overvej at flytte en del af disse data til sin egen database.
Dette er få ting, der nedsætter ydeevnen over tid. Jeg har dækket de mest almindelige tilfælde her, men venligst tjek dette indlæg for nogle flere indsigter.