MongoDB publicó otro benchmark realizado por United Software Associates.

Los puntos de referencia son una herramienta útil para evaluar rendimiento de la base de datos. Pero para ser útiles, deben ser transparentes y repetibles. Si no cumplen estas normas, los resultados son cuestionables.

En pruebas comparativas recientes, Couchbase y MongoDB adoptaron dos enfoques diferentes. Couchbase documentó claramente la configuración completa y incluía los resultados de cada prueba. MongoDB no lo hacía.

Los cuadros siguientes ilustran los distintos enfoques adoptados por Avalon Consulting, LLC y United Software Associates:

United Software Associates Avalon Consulting, LLC
YCSB
Entradas / Operaciones 400M / 100M 300M / 100M
Valor Tamaño Falta 1K
Tamaño del conjunto de datos Falta 286 GB
Solicitar distribución Zipfian Uniforme
Base de datos
Nodos Falta MongoDB: 9
Servidor Couchbase: 9
Réplicas Falta 3 (1 primaria, 2 secundarias)
Replicación Falta MongoDB: Async
Servidor Couchbase: Async
Persistencia Falta MongoDB: Async
Servidor Couchbase: Async
Memoria configurada (por nodo) Falta MongoDB: 30 GB
Servidor Couchbase: 30 GB
Tamaño total del conjunto de datos (con réplicas) Falta 858 GB
Datos primarios residentes en memoria Falta 32%
Versión
Base de datos MongoDB: 3.0.3
Servidor Couchbase: 3.0.2
MongoDB: 3.0.0
Servidor Couchbase: 3.0.2
Cliente MongoDB: 3.0.0
Servidor Couchbase: 2.1.2
MongoDB: 2.1.3
Servidor Couchbase: 2.1.0
Hardware
Servidores Base de datos: 3
YCSB: 1
Base de datos: 9x AWS EC2 i2.2xlarge
YCSB: 2-23x AWS EC2 r2.8xlarge
Procesadores Ambos: 2x 3.0GHz Base de datos: 8 vCPU (2,5GHz)
YCSB: 32vCPU (2,5GHz)
Memoria Ambos: 96 GB Base de datos: 61 GB
YCSB: 244 GB
Almacenamiento Ambos: 2x 960GB SSD Base de datos: 2 SSD de 800 GB
YCSB: 2 unidades SSD de 320 GB
Red Ambos: 10GbE Ambos: Alto
OS Ambos: Ubuntu 14.10 Base de datos: CentOS 6
YCSB: Amazon Linux
OS
Páginas Enormes Transparentes (THP) Discapacitados Discapacitados
NUMA Discapacitados Discapacitados

Espero que MongoDB y DataStax me ayuden a mejorar esta plantilla para futuros benchmarks.

Resultados de referencia de United Software Associates

No publicaron los resultados de todos pruebas, publicaron los resultados de una.

El benchmark indica que el número ideal de hilos para cada base de datos era de 150 o 350 en función de la carga de trabajo, pero no indica el número de hilos para los resultados publicados.

Carga de trabajo A Rendimiento

Hilos MongoDB Servidor Couchbase
105 Falta Falta
140 Falta Falta
175 Falta Falta
210 Falta Falta
245 Falta Falta
280 Falta Falta
315 Falta Falta
350 Falta Falta

Resultados - Carga de trabajo A Latencia

Hilos MongoDB Servidor Couchbase
105 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta
140 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta
175 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta
210 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta
245 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta
280 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta
315 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta
350 Leer: Falta
Escribir: Falta
Leer: Falta
Escribir: Falta

Resultados de referencia de Avalon Consulting, LLC

Publicaron los resultados de todos pruebas y el número de hilos para ellos.

Carga de trabajo A Rendimiento

Hilos MongoDB Servidor Couchbase
105 61K 110K
140 65K 141K
175 67K 154K
210 70K 170K
245 74K 193K
280 Latencia máxima superada 238K
315 Latencia máxima superada 245K
350 Latencia máxima superada 252K

Resultados - Carga de trabajo A Latencia

Hilos MongoDB Servidor Couchbase
105 Lectura: 1,42 ms
Escribir: 2,05 ms
Lectura: .78ms
Escritura: .76ms
140 Lectura: 2,01 ms
Escribir: 2,97 ms
Lectura: .79ms
Escritura: .78ms
175 Lectura: 3,16 ms
Escribir: 3,54 ms
Lectura: .89ms
Escritura: .88ms
210 Lectura: 3,5 ms
Escribir: 4,49 ms
Lectura: .93ms
Escritura: .92ms
245 Lectura: 4,19 ms
Escribir: 5,38 ms
Lectura: .92ms
Escritura: .91ms
280 Latencia máxima superada Lectura: .92ms
Escritura: .92ms
315 Latencia máxima superada Lectura: 1,06 ms
Escritura: .99ms
350 Latencia máxima superada Lectura: 1,22 ms
Escribir: 1,22 ms

Configuración de referencia

Un punto de referencia, si le interesa, debería responder a las siguientes preguntas:

  • ¿Cuál era la configuración del hardware?
  • ¿Cómo estaba configurado el sistema operativo?
  • ¿Cuáles eran las versiones de la base de datos y del cliente?
  • ¿Cómo se configuraron las bases de datos?
  • ¿Cómo se configuró YCSB?

Entonces, ¿qué configuración le falta a este punto de referencia de United Software Associates?

  • El número de nodos
  • La configuración de réplicas (# de réplicas
  • La configuración de la replicación (async o sync)
  • La configuración de la persistencia (async o sync)
  • El tamaño de los valores
  • El tamaño del conjunto de datos
  • El tamaño de la caché (por nodo)
  • El tamaño del conjunto total de datos (incluidas las réplicas)
  • Porcentaje de datos primarios residentes en memoria
  • Los resultados de todas las ejecuciones
  • El número de hilos para todas las ejecuciones publicadas

Además, el repositorio de GitHub al que se hace referencia en este libro blanco de United Software Associates no incluye la configuración del cliente para MongoDB, Cassandra o Couchbase Server.

¿Y qué pasa con los routers y servidores de configuración de MongoDB?

¿Fueron desplegados? En caso afirmativo, ¿dónde?

No lo sé porque este punto de referencia no incluye todos de la configuración. La primera referencia incluido más de la configuración, pero había una serie de errores. Con este punto de referencia, puede que hayan corregido los errores, pero no han incluido todos de la configuración.

Conclusión

Es importante que los puntos de referencia sean creíbles. Cualquiera debería ser capaz de reproducir un benchmark y validar sus resultados. Debe facilitarse toda la configuración y, preferiblemente, debe realizarse en una infraestructura en la nube. De lo contrario, los proveedores pueden manipular la configuración para que las comparaciones injustas parezcan justas.

Eso no ayuda a nadie.

Recursos

MongoDB + Evaluación comparativa de United Software Associates
Libro Blanco | Código

Couchbase + Avalon Consulting, LLC Benchmark
Libro Blanco | Código

Debatir sobre Noticias Hacker

Autor

Publicado por Shane Johnson, Director de Marketing de Producto, Couchbase

Shane K Johnson fue Director de Marketing de Producto en Couchbase. Antes de Couchbase, ocupó varios puestos en desarrollo y evangelización con formación en Java y sistemas distribuidos. Ha sido consultor de organizaciones de los sectores financiero, minorista, de las telecomunicaciones y de los medios de comunicación para diseñar e implantar arquitecturas basadas en sistemas distribuidos para datos y análisis.

Dejar una respuesta