Това също зависи от вида на заявките, които задействате. Моля, проверете дали посочените по-долу точки са налице -
- има ли много заявки за агрегиране? Какъв вид структура на колекцията имате, т.е.
- има ли много вложени масиви?
- Единичен екземпляр ли е или набор от реплики? Опитайте да поставите набор от реплики с readand write към различен възел.
- Заявките връщат ли данни от множество колекции?
- Проверете дали вашият екземпляр показва грешка на страницата за колко % от операциите?
- Проверете регистрационните си файлове за операции с високо nscanned или scanAndOrder по време на периоди на високо заключване/опашка и индексирайте съответно.
- Проверете заявките си за оператори, които изискват много CPU, като $all, $push/$pop/$addToSet, както и актуализации на големи документи и особено актуализации на документи с големи масиви (или големи масиви от поддокументи).
- ако вашата база данни е натоварена с запис, имайте предвид, че само един CPU на база данни може да записва наведнъж (поради тази нишка, която държи заключването за запис). Помислете за преместване на част от тези данни в собствена база данни.
Това са няколко неща, които намаляват производителността с времето. Покрих най-често срещаните случаи на употреба тук, но моля, проверете тази публикация за още прозрения.