Nota
Esta página se aplica tanto a Atlas Infinite como a Atlas Core.
Overview
Las aplicaciones modernas deben permanecer disponibles incluso cuando los picos de tráfico y las consultas costosas consumen más recursos de lo previsto. LaGestión Inteligente de Cargas de Trabajo (IWM, por sus siglas en inglés) es la función de disponibilidad gestionada por MongoDB Atlas que mantiene sus clústeres receptivos y predecibles, incluso bajo sobrecarga.
La sobrecarga se produce cuando el clúster recibe más operaciones de las que sus recursos pueden procesar. Esta sobrecarga puede desarrollarse más rápido de lo que la infraestructura puede escalar. Incluso con el escalado automático activado, Atlas requiere tiempo para aprovisionar capacidad adicional. Esto crea un período de inestabilidad en el que el clúster puede procesar todas las operaciones de la misma manera. IWM minimiza este riesgo al monitorizar y reaccionar en tiempo real a los picos de carga y la presión sobre los recursos.
IWM es el sistema de protección contra sobrecargas que Atlas aplica a todos los clústeres dedicados que ejecutan MongoDB 9.0 o posterior. IWM incluye las siguientes protecciones:
Las protecciones permanentes ponen en cola, ralentizan y priorizan las operaciones para evitar que saturen el clúster. Estas protecciones constituyen una defensa básica contra la sobrecarga. Para obtener más información, consulte Protecciones permanentes.
Lareducción de carga es una protección opcional que rechaza las operaciones entrantes de la base de datos en respuesta a una sobrecarga prolongada. Para obtener más información, consulte la sección sobre reducción de carga.
Atlas aplica un subconjunto de estas protecciones a cada clúster, según su nivel, topología, versión de MongoDB y configuración de reducción de carga. Para obtener más información, consulte Requisitos de clúster y versión.
Protecciones siempre activas
Las protecciones permanentes son el conjunto básico de protecciones IWM que Atlas aplica para absorber la sobrecarga y mantener la disponibilidad. Estas protecciones se ejecutan en todo momento, incluso cuando la reducción de carga está desactivada, y no se pueden desactivar. Para saber qué protecciones se aplican a su clúster, consulte Requisitos de clúster y versión.
Cola de entrada: Atlas aplica un limitador de velocidad de solicitudes de entrada a cada proceso
mongodde su clúster, que determina la rapidez con la que cada proceso admite operaciones para su ejecución. Cuando un pico de tráfico supera la capacidad reservada de su clúster, el limitador de velocidad agrega las operaciones entrantes sobrantes a una cola de entrada en lugar de permitir que compitan por los recursos con las operaciones en ejecución. Si el uso de recursos se mantiene alto, el limitador de velocidad admite operaciones a un ritmo más lento, por lo que más operaciones esperan en la cola. El limitador de velocidad solo rechaza operaciones si habilita la reducción de carga en su clúster.Si el escalado automático reactivo está habilitado en su clúster, Atlas utiliza la tasa de operaciones en cola para determinar cuándo escalarlo. Atlas informa esta tasa como Limitación de tasa de operaciones: Operaciones en cola en las métricas de Atlas. Para obtener más información, consulte Cómo Atlas escala el nivel del clúster.
Priorización del control de ejecución: Atlas ejecuta las lecturas y escrituras críticas, así como la actividad interna del clúster, como las elecciones, antes que las tareas en segundo plano y las consultas costosas. En situaciones de alta demanda, Atlas ralentiza primero las operaciones costosas, de larga duración o de baja prioridad.
Desalojo de caché y optimización de memoria: Atlas optimiza el uso de memoria del clúster y elimina los datos almacenados en caché. Cuando la memoria es escasa, el clúster reduce su velocidad de forma controlada en lugar de quedarse sin memoria o borrar repetidamente los datos que más necesita.
Limitación de la velocidad de conexión: Durante picos de tráfico, Atlas admite nuevas conexiones de clientes a un ritmo seguro y rechaza las solicitudes de conexión excesivas, manteniendo las conexiones existentes. Para obtener más información, consulte Límites de velocidad de conexión.
Bloqueo de escritura: En los clústeres Atlas Core, si el nodo principal tiene muy poco espacio libre en disco, Atlas bloquea las operaciones de escritura en el conjunto de réplicas. Atlas continúa atendiendo las lecturas mientras las escrituras están bloqueadas. Las operaciones de escritura bloqueadas incluyen las de eliminación, ya que eliminar documentos puede aumentar temporalmente el espacio en disco utilizado. En los clústeres fragmentados, Atlas bloquea únicamente las escrituras dirigidas al fragmento afectado.
El tamaño total del disco de un nodo determina los umbrales que aplica Atlas. La siguiente tabla enumera los umbrales para cada rango de tamaño de disco:
Tamaño total del discoUmbrales8 GiB a 20 GiB
Atlas bloquea las escrituras cuando el espacio libre en disco cae por debajo de 600 MiB. Atlas desbloquea las escrituras cuando el espacio libre en disco supera los 900 MiB.
20 GiB a 1.25 TiB
Atlas bloquea las escrituras cuando el espacio libre en disco cae por debajo del 4% del tamaño total del disco. Atlas desbloquea las escrituras cuando el espacio libre en disco supera el 6% del tamaño total del disco.
1.25 TiB o superior
Atlas bloquea las escrituras cuando el espacio libre en disco cae por debajo de 50 GiB. Atlas desbloquea las escrituras cuando el espacio libre en disco supera los 75 GiB.
Para recuperar espacio en disco, aumente el almacenamiento del clúster o habilite el escalado automático del almacenamiento.
Cuando Atlas bloquea las escrituras, los registros de Atlas devuelven un
MongoServerErrorque indica que las escrituras están bloqueadas. El código de error y el motivo dependen de la versión de compatibilidad de características (FCV) del clúster:Para clústeres con FCV 9.0 o posterior, los registros devuelven un
MongoServerErrorsimilar al siguiente:Replica set writes blocked, reason: InsufficientDiskSpace.Para clústeres con FCV anterior a 9.0, los registros devuelven un
MongoServerErrorsimilar al siguiente:User writes blocked, reason: DiskUseThresholdExceeded.
En los clústeres Atlas Infinite, Atlas bloquea las escrituras cuando el tamaño de los datos lógicos en el conjunto de réplicas se aproxima al límite máximo de almacenamiento del clúster. Para obtener más información sobre los límites de almacenamiento en los clústeres Atlas Infinite, consulte la sección «Administrar el almacenamiento en un clúster Atlas Infinite».
cortes de suministro eléctrico
La función dereducción de carga es una protección de IWM que rechaza las operaciones de base de datos entrantes lo antes posible para limitar su impacto en el clúster. A diferencia de las protecciones permanentes de IWM, la reducción de carga es opcional, por lo que usted puede controlar si Atlas la aplica a su clúster. Cuando está habilitada, la reducción de carga se activa solo durante una sobrecarga sostenida, cuando otras protecciones no pueden aliviar la presión lo suficiente.
Como parte de las protecciones permanentes de IWM, Atlas ejecuta un limitador de velocidad de solicitudes de entrada en cada proceso mongod de su clúster. Este limitador permite el acceso de operaciones al proceso a una velocidad controlada y agrega las solicitudes de operación que llegan más rápido que esta velocidad a una cola de entrada en dicho proceso.
Cuando se habilita la reducción de carga, Atlas limita el tamaño de la cola de entrada de cada proceso mongod en el clúster. Si llega una operación mientras la cola de un proceso está llena, Atlas la rechaza con un error de sobrecarga. Esto evita que la cola crezca demasiado durante una sobrecarga prolongada.
Cuando la reducción de carga está desactivada, Atlas no limita el tamaño de la cola de entrada de ningún proceso mongod en su clúster ni rechaza las operaciones que llegan más rápido que la tasa de admisión del limitador de velocidad. Durante una sobrecarga sostenida, cada proceso mongod continúa agregando un número ilimitado de operaciones a su cola, por lo que las operaciones tardan más en completarse.
Si el escalado automático reactivo está habilitado en su clúster, Atlas utiliza la tasa de operaciones que rechaza la reducción de carga para determinar cuándo escalar el clúster. Atlas informa esta tasa como Rejected Operations en Limitación de tasa de operaciones en las métricas de Atlas. Para obtener más información, consulte Cómo Atlas escala el nivel del clúster.
Configurar la desconexión de carga
La función de reducción de carga solo está disponible en clústeres de réplica M30+ que ejecutan MongoDB 9.0 o posterior. Por defecto, Atlas establece el valor de la configuración de reducción de carga en Atlas
Managed, lo que permite a Atlas controlar el estado efectivo de la reducción de carga para su clúster. En MongoDB 9.0, ese estado es Disabled.
Importante
Cuando está habilitada, la reducción de carga puede aumentar la cantidad de errores de sobrecarga en su clúster. Para obtener información sobre cómo gestionar estos errores, consulte la sección "Gestionar errores de sobrecarga por reducción de carga".
Para configurar Load Shedding en su clúster, utilice la interfaz de usuario de Atlas o la API de administración de Atlas:
Requisitos de clúster y versión
La gestión inteligente de cargas de trabajo (IWM) está activa en todos los clústeres dedicados que ejecutan MongoDB 9.0 o posterior. IWM no está disponible en los clústeres gratuitos ni en los clústeres Flex.
Cuando IWM está activo en un clúster, Atlas aplica un subconjunto de protecciones de IWM según el nivel, la topología, la versión de MongoDB y la configuración de reducción de carga del clúster. La siguiente tabla enumera las protecciones que Atlas aplica a cada combinación de nivel y topología de clúster en MongoDB 9.0 y versiones posteriores:
Protección IWM | M10 y clústeres M20 | M30+ clústeres de conjuntos de réplicas | M30+ Clústeres particionados |
|---|---|---|---|
Cola de entrada | No | Sí | No |
Priorización del control de ejecución | No | Sí | No |
Desalojo de caché y optimización de memoria | Sí | Sí | Sí |
limitación de la velocidad de conexión | Sí | Sí | Sí |
Bloqueo de escritura | Sí | Sí | Sí |
cortes de suministro eléctrico | No | Sí, cuando está habilitado | No |
Nota
Excepciones al requisito de versión 9.0 de MongoDB.
Las siguientes protecciones de IWM están activas en clústeres que ejecutan versiones de MongoDB anteriores a 9.0:
Elbloqueo de escritura está activo en los clústeres
M10+que ejecutan MongoDB 8.0 o posterior.La limitación de la tasa de conexiones está activa en los clústeres
M10yM20que ejecutan las siguientes versiones de MongoDB:7.0.23 y versiones posteriores 7.0.x
8.0.12 y versiones posteriores 8.0.x
8.1.2 y versiones posteriores 8.1.x
Monitor IWM
Atlas proporciona varias superficies de observabilidad que muestran cuándo IWM protege su clúster y qué operaciones retrasó o rechazó Atlas:
Para revisar las métricas de admisión de consultas y de colas relacionadas con IWM, consulte las siguientes métricas de Atlas:
Para configurar y revisar las alertas relacionadas con IWM, consulte la sección "Gestión inteligente de la carga de trabajo" en la documentación de "Condiciones de alerta".
Para revisar los eventos relacionados con IWM, como los cambios en los cortes de energía,consulte el registro de actividad.