sql >> Base de Datos >  >> NoSQL >> MongoDB

mongodb mal rendimiento

MongoDB tiene un bloqueo de escritura global . Esto significa que solo una de sus actualizaciones puede continuar a la vez.

El db.serverStatus() El comando puede ayudarlo a diagnosticar problemas con el bloqueo de escritura global.

Aquí hay algunas cosas que puede probar:

1) Asegúrate de estar usando mongodb 2.0. Tiene mejor concurrencia que las versiones anteriores. 2.2 tendrá mejor concurrencia aún.

2) Ponga en cola sus escrituras para que sean asincrónicas y realícelas todas usando un solo hilo. Esto podría ayudar con la concurrencia, porque generalmente solo un subproceso intentará usar el bloqueo de escritura global a la vez.

3) Si está utilizando la última versión y no puede hacer que sus escrituras sean de un solo subproceso, entonces considere la fragmentación. La fragmentación sirve para mucho más que el tamaño; es al menos igual de importante para la concurrencia de escritura. Si fragmenta, cada segmento se ejecutará en su propio proceso con su propio bloqueo de escritura global. Esto permitirá que todo el sistema procese más escrituras.