MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongodb лошо представяне

MongoDB има глобално заключване на запис . Това означава, че само една от вашите актуализации може да продължи в даден момент.

db.serverStatus() може да ви помогне да диагностицирате проблеми с глобалното заключване на запис.

Ето някои неща, които можете да опитате:

1) Уверете се, че използвате mongodb 2.0. Има по-добра едновременност от по-старите версии. 2.2 все още ще има по-добра едновременност.

2) Поставете записите си в опашка, така че да са асинхронни, и ги изпълнете всички, като използвате една нишка. Това може да помогне с паралелността, тъй като обикновено само една нишка ще се опитва да използва глобалното заключване на запис в даден момент.

3) Ако използвате най-новата версия и не можете да направите вашите записи еднонишкови, тогава помислете за шардинг. Шардингът е за много повече от просто размер; това е поне толкова важно за едновременното писане. Ако направите фрагмент, тогава всеки сегмент ще работи в свой собствен процес със собствена глобална блокировка за запис. Това ще позволи на цялата система да обработва повече записи.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Групирайте Mongo документи по id и вземете най-новия документ по времево клеймо

  2. Естествено маскиране на MongoDB (3-ти метод)

  3. Най-добрият начин за моделиране на система за гласуване в MongoDB

  4. Съобщение за грешка от MongoDB Операция `disneys.insertOne()` буфериране изтече след 10000ms

  5. Трябва ли да използвам Java String Pool за синхронизация въз основа на уникален клиентски идентификатор?