IBM Cloud Docs
Rendimiento

Rendimiento

Los despliegues de IBM Cloud® Databases for MongoDB se pueden escalar manualmente para adaptarlos a su uso, o se pueden configurar de modo que se escalen automáticamente bajo determinadas condiciones de recursos. Si está ajustando el rendimiento de su implantación, tenga en cuenta primero algunos factores.

Supervisión del despliegue

Los despliegues de Databases for MongoDB ofrecen una integración con el servicio IBM Cloud® Monitoring para permitir la supervisión básica del uso de recursos del despliegue. Se presentan muchas de las métricas disponibles, como el uso de disco y el IOPS, para ayudarle a configurar el escalado automático en su despliegue. La observación de tendencias en el uso y la configuración del escalado automático para darles respuesta puede ayudar a aliviar los problemas de rendimiento antes de que las bases de datos queden inestables debido al agotamiento de recursos.

Uso de disco

Si le preocupa la cantidad de espacio que utiliza MongoDB para almacenar sus datos, puede ejecutar algunos diagnósticos de almacenamiento de datos nativos MongoDB para encontrar el tamaño de cosas como bases de datos, colecciones e índices. Si el tamaño aproximado del conjunto de datos es conocido y fijo, puede escalar manualmente el disco para adaptarlo a los datos. Si el conjunto de datos crece a una velocidad predecible a lo largo del tiempo, puede configurar el escalado automático para aumentar el tamaño de disco cuando el uso de disco alcance un umbral determinado.

E/S de disco

El número de operaciones de entrada-salida por segundo (IOPS) en Databases for MongoDB está limitado por el tipo de volumen de almacenamiento. Los volúmenes de almacenamiento para implementaciones Databases for MongoDB son volúmenes de resistencia de Block Storage en el nivel de 10 IOPS por GB. Si se alcanzan los límites de utilización de E/S, puede provocar que las bases de datos respondan lentamente o que no respondan. Cosas como las consultas no optimizadas, la creación de índices y la creación de nuevos índices pueden provocar picos de IOPS, pero también es posible que las cargas de trabajo normales de tus aplicaciones superen las IOPS disponibles para tu despliegue.

Puede aumentar el número de IOPS disponible en el despliegue aumentando el espacio de disco. También puede configurar el escalado automático para aumentar el tamaño de disco automáticamente si la utilización de E/S del despliegue alcanza un determinado punto de saturación durante un periodo de tiempo prolongado.

Para obtener más información, consulte la documentación deMongoDB.

Memoria caché y memoria de WiredTiger

Databases for MongoDB utiliza el motor de almacenamiento WiredTiger, que utiliza tanto la caché de memoria del sistema de archivos como una caché de memoria interna. MongoDB ofrece un mejor rendimiento cuando sirve los datos desde su memoria caché interna, un rendimiento algo menor de cuando los datos están en la memoria caché del sistema de archivos, y el menor rendimiento cuando tiene que coger los datos del disco.

El tamaño por defecto de la caché interna es 50% of (total RAM per member - 1 GB) o 256 MB, el que sea mayor. Por ejemplo, el tamaño mínimo de memoria de una implantación Databases for MongoDB es de 4096 MB por miembro de datos, por lo que la caché interna es de 1536 MB (porque 0.5 * (4096 MB - 1024 MB) = 1536 MB.

La proporción de memoria caché interna y la del sistema de archivos no la puede configurar el usuario en el despliegue, pero se puede escalar la cantidad total de memoria para ajustar la memoria caché interna y hacer que la base de datos ofrezca un mejor rendimiento. Por ejemplo, si escalas la memoria a 5120 MB por miembro, el tamaño de la caché interna pasa a ser de 2048 MB. 0.5 * (5120 MB - 1024 MB) = 2048 MB.

Otra forma de utilizar el escalado automático es establecer que se escale la memoria cuando la utilización de E/S de disco alcance un determinado umbral. Al aumentar la memoria disminuye la cantidad que MongoDB lee o escribe en el disco, por lo que añadir memoria puede aliviar la presión en la E/S de disco ya que se admite más almacenamiento en caché.

Más información sobre la caché WiredTiger en la documentación MongoDB.

Rendimiento de consultas

La documentación MongoDB contiene varios recursos sobre el rendimiento de las consultas, incluido un tutorial sobre el análisis del rendimiento de las consultas. Una vez que tengas una idea general del rendimiento de tus consultas, también tienen consejos para optimizarlas.

Como tema más avanzado, puedes aprender cómo MongoDB gestiona los planes de consulta.

Otras herramientas de supervisión de MongoDB

También puede utilizar algunas de las funciones de supervisión nativas de MongoDB. Por ejemplo, puede utilizar mongotop y mongostat.

mongotop 30 --username admin --password $PASSWORD --tls --tlsCAFile $CERTFILE --authenticationDatabase admin --host host1.databases.appdomain.cloud:31712, host2.databases.appdomain.cloud:31712

mongostat -n 20 1 --username admin --password $PASSWORD --tls --tlsCAFile $CERTFILE --authenticationDatabase admin --host host1.databases.appdomain.cloud:31712,host2.databases.appdomain.cloud:31712 --json

Ejecute cualquiera de los mandatos documentados que informan sobre el estado de la base de datos MongoDB.

Muchos de los programas de utilidad y mandatos de MongoDB necesitan el rol Supervisor de clúster para ejecutarse. No forma parte del conjunto de roles predeterminados de admin. Otorgue el rol de supervisor de clúster al usuario admin en el despliegue.

Para obtener más información, consulte la publicación del blog Mejores prácticas.