MongoDB má globální zámek zápisu . To znamená, že současně může pokračovat pouze jedna z vašich aktualizací.
db.serverStatus() příkaz vám může pomoci diagnostikovat problémy s globálním zámkem zápisu.
Zde je několik věcí, které můžete vyzkoušet:
1) Ujistěte se, že používáte mongodb 2.0. Má lepší souběžnost než starší verze. 2.2 bude mít ještě lepší souběžnost.
2) Zařaďte své zápisy do fronty tak, aby byly asynchronní, a všechny je provádějte pomocí jediného vlákna. To může pomoci se souběžností, protože obecně se pouze jedno vlákno bude pokoušet použít globální zámek zápisu najednou.
3) Pokud používáte nejnovější verzi a nemůžete své zápisy vytvořit s jedním vláknem, zvažte sharding. Sharding je mnohem víc než jen velikost; je to přinejmenším stejně důležité pro souběžnost zápisu. Pokud provedete shard, pak každý segment poběží ve vlastním procesu s vlastním globálním zámkem zápisu. To umožní celému systému zpracovat více zápisů.