MongoDB има глобално заключване на запис . Това означава, че само една от вашите актуализации може да продължи в даден момент.
db.serverStatus() може да ви помогне да диагностицирате проблеми с глобалното заключване на запис.
Ето някои неща, които можете да опитате:
1) Уверете се, че използвате mongodb 2.0. Има по-добра едновременност от по-старите версии. 2.2 все още ще има по-добра едновременност.
2) Поставете записите си в опашка, така че да са асинхронни, и ги изпълнете всички, като използвате една нишка. Това може да помогне с паралелността, тъй като обикновено само една нишка ще се опитва да използва глобалното заключване на запис в даден момент.
3) Ако използвате най-новата версия и не можете да направите вашите записи еднонишкови, тогава помислете за шардинг. Шардингът е за много повече от просто размер; това е поне толкова важно за едновременното писане. Ако направите фрагмент, тогава всеки сегмент ще работи в свой собствен процес със собствена глобална блокировка за запис. Това ще позволи на цялата система да обработва повече записи.