sql >> Database teknologi >  >> NoSQL >> MongoDB

mongodb dårlig præstation

MongoDB har en global skrivelås . Det betyder, at kun én af dine opdateringer kan fortsætte ad gangen.

db.serverStatus() kommando kan hjælpe dig med at diagnosticere problemer med den globale skrivelås.

Her er nogle ting, du kan prøve:

1) Sørg for, at du bruger mongodb 2.0. Det har bedre samtidighed end ældre versioner. 2.2 vil have bedre samtidighed endnu.

2) Sæt dine tekster i kø, så de er asynkrone, og udfør dem alle ved hjælp af en enkelt tråd. Dette kan måske hjælpe med samtidighed, for generelt vil kun én tråd forsøge at bruge den globale skrivelås ad gangen.

3) Hvis du bruger den nyeste version, og du ikke kan lave dine skrivninger enkelttrådede, så overvej at skære. Sharding er til meget mere end bare størrelse; det er mindst lige så vigtigt for at skrive samtidighed. Hvis du sharder, vil hvert segment køre i sin egen proces med sin egen globale skrivelås. Dette vil give hele systemet mulighed for at behandle flere skrivninger.



  1. Problemer med at køre OAuthd-forekomst

  2. Skal jeg rense brugerinput, før jeg indsætter i MongoDB (MongoDB+Node js combo)

  3. for mange åbne filer i mgo go server

  4. Navneområder i Redis?