MongoDB har ett globalt skrivlås . Det betyder att endast en av dina uppdateringar kan fortsätta åt gången.
db.serverStatus() kommandot kan hjälpa dig att diagnostisera problem med det globala skrivlåset.
Här är några saker du kan prova:
1) Se till att du använder mongodb 2.0. Den har bättre samtidighet än äldre versioner. 2.2 kommer att ha bättre samtidighet än.
2) Ställ dina texter i kö så att de är asynkrona och utför dem alla med en enda tråd. Detta kan hjälpa till med samtidighet, eftersom vanligtvis bara en tråd försöker använda det globala skrivlåset åt gången.
3) Om du använder den senaste versionen och du inte kan göra dina skrivningar entrådade, överväg att skära. Sharding är för mycket mer än bara storlek; det är minst lika viktigt för att skriva samtidigt. Om du klipper, kommer varje segment att köras i sin egen process med sitt eget globala skrivlås. Detta gör att hela systemet kan bearbeta fler skrivningar.