Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

201
Views
MongoDB base de datos múltiple vs rendimiento de base de datos única

Visión de conjunto:

Estamos comparando el rendimiento de crear/leer/escribir/rw en dos arquitecturas diferentes: base de datos única frente a bases de datos múltiples (15k-25k).

Preferimos usar la arquitectura Multi-DB porque facilita la separación de clientes (cliente = 1 empresa). Sin embargo, debido a la degradación del rendimiento, tememos que esta no sea una buena solución.

Especificación del servidor:

Servidor MongoDB de instancia única; RAM de 64 GB; 16 núcleos; disco duro SSD

Resultados de la prueba:

Ambos escenarios de prueba tienen el mismo número total de documentos (y los documentos tienen aproximadamente el mismo tamaño). Las variables son número de bases de datos, colecciones por base de datos y documentos por colección.

Todas las pruebas se realizan en paralelo utilizando 50 subprocesos de cliente (máquina separada), con la excepción de lectura/escritura, que utiliza 100 (50R/50W). 'directorioPerDB' está habilitado. (Todos los tiempos están en milisegundos por operación de documento)

 Test Creation Read Write Read/Write Notes 25000 DB 4 Coll 250 Doc 23ms 1-10ms 1-4ms 2-10ms Max 1400% CPU, noticeable "pauses" (CPU drops to 100%) 15000 DB 4 Coll 420 Doc 23ms 0.7-4ms 0.9-4ms 2-9ms Max 1400% CPU, noticeable "pauses" (CPU drops to 100%) 1 DB 4 Coll 125000 Doc 0.8ms 0.6ms 0.8ms 1.2-1.6ms Max 600% CPU, no pauses

Conclusión:

Parece haber una degradación notable del rendimiento en un intervalo regular cuando el recuento de DB es muy alto. Puede deberse a la gran cantidad de archivos (25000 DB * 4 Colls * 2 archivos = 200k archivos) o algún otro cuello de botella.

En la prueba Single-DB, la CPU se mantiene alrededor del 600 % y lo mantiene hasta su finalización. En las pruebas de bases de datos múltiples, la CPU (en su máximo rendimiento) está entre 800 y 1400 %, pero cada cierto tiempo la CPU cae al 100 % y todas las operaciones se pausan. Esto se puede verificar observando el registro de mongo, así como los registros de los clientes de prueba que emiten comandos R/W.

Si no fuera por estas pausas, la arquitectura Multi-DB sería aproximadamente 2 veces más rápida que Single-DB, sin embargo, parece que hay cierta contención global que no se puede evitar.

Espero que alguien sepa qué es esta disputa global y (si es posible) cómo resolverla.

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!