Esta página trata sobre el escalado automático de la capa de clúster. Para saber cómo funciona el escalado automático de la capa de clúster, consulte Escalado automático reactivo para la capa de clúster y Escalado automático predictivo para la capa de clúster. Para saber cómo funciona el escalado automático del almacenamiento del clúster, consulte Cómo Atlas escala el almacenamiento del clúster en Atlas Core.
Escalado automático de nivel de clúster
Atlas utiliza escalado automático reactivo y predictivo para los niveles de clúster. Atlas elige el mecanismo de escalado automático en función del tipo, el nivel y el patrón de carga de trabajo del clúster.
Nota
Disponibilidad de nivel
El escalado automático de niveles de clúster funciona en los niveles de clúster de las clases General y Low-CPU, pero no en los clústeres de la clase Local NVMe SSD.
Escalado automático reactivo. Atlas usa umbrales, y no predicciones, para activar eventos de escalado en función del uso actual de los recursos. El escalado automático reactivo ocurre después de un uso sostenido alto o bajo de los recursos. Para aprender más, consulta escalado automático reactivo para el nivel de clúster.
Escalado automático predictivo. Atlas usa aprendizaje automático para anticipar necesidades futuras de escalado a partir de patrones de uso históricos e intenta activar eventos de escalado antes de que llegue el pico de carga previsto.
El escalado automático predictivo es una extensión del escalado automático del nivel de clúster y se basa en el escalado automático reactivo. Atlas sigue confiando en el escalado automático reactivo para manejar picos inesperados en la carga de trabajo que no son cíclicos ni predecibles. Atlas usa el escalado automático predictivo para los clústeres elegibles. Para obtener más información, consulta Escalado automático predictivo para el nivel de clúster.
Importante
Si se crea un clúster en Atlas y este es elegible para el escalado automático reactivo y para el escalado automático predictivo, ambos mecanismos de escalado automático predictivo y reactivo están habilitados por defecto para el nuevo clúster si se usa la interfaz de usuario de Atlas. Atlas usa entonces mecanismos de escalado automático basados en el tipo, el nivel y la carga de trabajo del clúster. Si se usa la Atlas Administration API, se debe activar explícitamente el escalado automático.
Escalado automático reactivo para el nivel de clúster
Nota
Uso del término escalado automático
En toda la documentación de Atlas, siempre que se utilice el término escalado automático sin la palabra "predictivo", se refiere al mecanismo de escalado automático reactivo. Consulta también escalado automático predictivo.
Puedes configurar los rangos de niveles de clúster que Atlas utiliza para escalar automáticamente el nivel del clúster, la capacidad de almacenamiento o ambos, en función del uso del clúster. Para saber cómo afecta el escalado automático del almacenamiento al escalado de la computación, consulta Cómo Atlas escala el almacenamiento del clúster en Atlas Core.
Para optimizar el uso de recursos y mejorar el perfil de costos, el escalado automático reactivo de Atlas detecta una demanda sostenida más alta y picos de tráfico de corto plazo, y ajusta el nivel del clúster según el uso de recursos en tiempo real.
Para ayudar a controlar los costos, se puede especificar un rango de tamaños máximos y mínimos para los clústeres a los que el clúster puede escalar automáticamente.
El escalado automático reactivo funciona de manera continua, y el proceso no genera ningún tiempo de inactividad. Atlas mantiene un nodo principal durante este proceso, pero los nodos se actualizan uno por uno y no están disponibles mientras se actualizan.
Para conocer recomendaciones sobre escalabilidad, incluida la forma de evitar la desviación de recursos al usar herramientas de infrastructure as code con escalado automático reactivo, consulta Recomendaciones para la escalabilidad de Atlas en el Atlas Architecture Center.
Clústeres elegibles para el escalado automático reactivo
El escalado automático reactivo de los niveles de clúster de Atlas está disponible para todos los niveles de clúster dedicados de Atlas Core, bajo las clases de clúster General y Low-CPU. El escalado automático reactivo también está disponible para los clústeres de Atlas Infinite.
Cómo Atlas escala el nivel de clúster
Atlas depende de los datos de ping del host para tomar decisiones de escalabilidad automática. Los nodos de datos del clúster dedicado envían continuamente estos datos de ping al plano de control, sin importar si el autoescalado está habilitado. Cuando habilitas el escalamiento automático, Atlas puede usar estos datos históricos para escalar inmediatamente si se cumplen las condiciones de escalamiento.
Atlas escala el clúster a otro nivel en la misma clase. Por ejemplo, Atlas escala clústeres General a otras clases de clúster General, pero no escala General clústeres a clases de clúster Low-CPU.
Atlas no escalará su nivel de clúster si el nuevo nivel de clúster queda fuera del rango especificado de Minimum y Maximum Cluster Size.
Si se implementan nodos de solo lectura y se desea que el clúster escale más rápido, se debe considerar ajustar la moda de escalado del set de réplicas.
Los criterios exactos de escalado automático reactivo están sujetos a cambios para asegurar el uso adecuado de los recursos del clúster.
Importante
En el caso de clústeres Atlas Core dedicados, si se restaura una instantánea con un tamaño mayor que la capacidad de almacenamiento del clúster de destino, este no se escala automáticamente.
Atlas utiliza los siguientes conceptos de utilización de recursos y control de admisión de operaciones para determinar cuándo aumentar o disminuir la escala del clúster:
Utilización absoluta de la CPU del sistema: Uso total de la CPU de todos los procesos en el nodo. Se muestra como CPU del sistema en las métricas de Atlas.
Utilización relativa de la CPU del sistema: Valor que Atlas utiliza para tomar decisiones de autoescalado en los clústeres
M10yM20. Esto se calcula de la siguiente manera:Relative System CPU Utilization = Normalized System CPU / Baseline CPU Utilization Dónde:
Uso normalizado de la CPU del sistema: Suma del uso total de la CPU en todos los núcleos, normalizado con respecto al uso de referencia de la CPU. Se muestra como "Uso normalizado de la CPU del sistema" en las métricas de Atlas.
Utilización de CPU de referencia: Fracción de la CPU total garantizada a su instancia por el proveedor de la nube, normalmente entre 20 % y 50 % para tipos de instancias con capacidad de ráfaga. No se muestra en las métricas de Atlas. Para obtener más información, consulte la utilización de CPU de referencia.
Por ejemplo, utilizando 20% como una estimación del extremo inferior para Baseline CPU Utilization, los siguientes valores de Relative System CPU Utilization corresponden a estos valores de CPU del sistema normalizados en las métricas de Atlas:
75%La utilización relativa de laCPU del sistema es igual a15%Normalized System CPU (75% de 20%).90%La utilización relativa de laCPU del sistema es igual a18%Normalized System CPU (90% de 20%).
Atlas limita el valor de Relative System CPU Utilization al 100%, incluso cuando el cálculo lo supera. Si se produce un aumento de escala cuando Normalized System CPU parece bajo, póngase en contacto con el soporte de MongoDB.
Utilización de la memoria del sistema: Uso total de la memoria en todos los procesos del nodo, expresado como un porcentaje de la memoria total disponible para el nodo. Se calcula de la siguiente manera:
System Memory Utilization = Memory Used / Total Memory * 100 Dónde:
Memoria utilizada: Número de bytes de memoria física que se están utilizando actualmente en el host. Visible como Memoria del sistema: Memoria utilizada (bytes) en las métricas de Atlas.
Memoria total: Memoria física total disponible para el nodo, según lo informado por el sistema operativo. Atlas no muestra este valor como una métrica independiente. No es visible en las métricas de Atlas.
Nota
El valor System Memory Utilization que Atlas utiliza para las decisiones de autoescalado puede diferir ligeramente del valor que se muestra en el panel de métricas de Atlas. Si no se produce una reducción de escala cuando System Memory Utilization aparece como bajo, póngase en contacto con el soporte de MongoDB.
Operaciones en cola o rechazadas: Tasa combinada de operaciones que Atlas pone en cola o rechaza para proteger su clúster de la sobrecarga como parte de la Gestión Inteligente de Carga de Trabajo (IWM). Atlas lo calcula de la siguiente manera:
Queued or Rejected Operations = Queued Operations + Rejected Operations Dónde:
Operaciones en cola: Tasa promedio por minuto de operaciones entrantes que Atlas agrega a la cola del limitador de tasa de solicitudes de entrada para esperar la admisión al clúster. La tasa por segundo se muestra como Limitación de tasa de operaciones: Operaciones en cola en las métricas de Atlas.
Operaciones rechazadas: Tasa promedio por minuto de operaciones entrantes que Atlas rechaza debido a la sobrecarga del clúster y la activación de la función de reducción de carga. La tasa por segundo se muestra como Limitación de tasa de operaciones: Operaciones rechazadas en las métricas de Atlas.
Para saber cómo funciona IWM para poner en cola o rechazar operaciones en respuesta a la sobrecarga del clúster, consulte Gestión inteligente de la carga de trabajo.
Un valor combinado superior a cero significa que su clúster está sobrecargado.
Las siguientes secciones describen cómo Atlas utiliza estas métricas para determinar cuándo aumentar o disminuir la escala del clúster.
Condiciones para la ampliación
Para gestionar cargas de trabajo dinámicas para las aplicaciones, Atlas escala reactivamente los nodos del clúster cuando se cumplen las condiciones que se describen en esta sección.
Para lograr un uso óptima de los recursos y un perfil de costos óptimo, Atlas evita escalar el clúster al siguiente nivel si:
El clúster
M10oM20se ha escalado en los últimos 20 minutos o una hora, dependiendo de los umbrales.El clúster
M30+se ha escalado en los últimos 10 minutos o una hora, dependiendo de los umbrales.El clúster se ha ampliado en los últimos 10 minutos, para el criterio Queued or Rejected Operations.
Por ejemplo, si el nivel de clúster no ha cambiado desde 12:00, Atlas escalará un clúster de M30+ en 12:10, si la utilización normalizada actual de la CPU del clúster es superior al 90%.
Si el siguiente nivel de clúster está dentro del rango Maximum Cluster Size, Atlas escala los nodos operativos del clúster al siguiente nivel si al menos uno de los siguientes criterios es verdadero para cualquier nodo de clúster de este tipo.
Nota
Las condiciones de esta sección describen los nodos operativos. Para los nodos de análisis en cualquier proveedor de nube, Atlas los escala al siguiente nivel si el promedio de Normalized System CPU o System Memory Utilization ha superado el 75 % de los recursos disponibles para cualquier nodo del clúster durante la última hora. Atlas no aplica el criterio Queued or Rejected Operations a los nodos de análisis.
La siguiente lista agrupa los criterios por nivel de clúster. Dentro de cada nivel, los criterios relacionados con la CPU aparecen primero, seguidos de los relacionados con la memoria. Dentro de cada uno de estos dos conjuntos, los criterios específicos de un proveedor de nube aparecen primero. Los criterios restantes aparecen en orden de mayor a menor restricción. El criterio de sobrecarga se aplica a todos los niveles dedicados y aparece al final.
M10yM20clústeres:AWS. El promedio normalizado Relative System CPU Utilization ha superado el 90% durante los últimos 20 minutos y el promedio no normalizado Absolute System CPU Utilization para robo de CPU ha superado el 30% durante los últimos 3 minutos.
Azure. El promedio normalizado Relative System CPU Utilization ha superado el 90% durante los últimos 20 minutos y el promedio no normalizado Absolute System CPU Utilization para softIRQ ha superado el 10% durante los últimos 3 minutos.
El promedio normalizado Absolute System CPU Utilization ha superado el 90% de los recursos disponibles para el clúster durante los últimos 20 minutos.
El Relative System CPU Utilization normalizado promedio ha superado el 75% de los recursos disponibles para el clúster durante la última hora.
El promedio de System Memory Utilization ha superado el 90% de los recursos disponibles para el clúster durante los últimos 10 minutos.
El promedio de System Memory Utilization ha superado el 75% de los recursos disponibles para el clúster durante la última hora.
Nota
Si se produce una subida de escala cuando Normalized System CPU parece bajo, contacta con Soporte técnico de MongoDB.
M30+clústeres:El promedio de Normalized System CPU ha superado el 90% de los recursos disponibles para el clúster durante los últimos 10 minutos.
El promedio de Normalized System CPU ha superado el 75% de los recursos disponibles para el clúster durante la última hora.
El promedio de System Memory Utilization ha superado el 90% de los recursos disponibles para el clúster durante los últimos 10 minutos.
El promedio de System Memory Utilization ha superado el 75% de los recursos disponibles para el clúster durante la última hora.
Todos los clústeres dedicados,
M10+:Queued or Rejected Operations permanece por encima de cero para cada muestra en los últimos 10 minutos.
Atlas requiere que la tasa se mantenga por encima de cero durante toda la ventana de 10 minutos en lugar de promediarla, por lo que un breve pico de tráfico o de operaciones rechazadas durante un pico corto no escala el clúster. La reducción sostenida de la carga indica que la carga de trabajo excede la capacidad del nivel actual, por lo que Atlas aumenta la escala para aliviar la sobrecarga.
Nota
Este criterio mide si el Atlas libera carga, no cuánta. Cualquier tasa sostenida superior a cero cumple con el umbral.
Estos umbrales garantizan que su clúster se amplíe rápidamente en respuesta a cargas elevadas, manteniendo su rendimiento y fiabilidad.
Nota
Atlas no activa la autoescalabilidad del nivel de clúster durante un simulacro de caída regional. Este comportamiento también puede ocurrir durante una interrupción regional real si el clúster no tiene suficientes nodos saludables para soportar las operaciones de escalado.
Importante
Picos repentinos de carga de trabajo
Escalar a un nivel de clúster superior requiere tiempo suficiente para preparar los recursos de respaldo. Es posible que el escalado automático no ocurra cuando un clúster recibe una ráfaga de actividad, como una inserción masiva. Para reducir el riesgo de quedarte sin recursos, planifica escalar los clústeres antes de las inserciones masivas y otros picos de carga de trabajo.
Ejemplo
Consideremos un ejemplo con los siguientes valores para ver cómo Atlas evalúa las condiciones de escalado. La utilización base de la CPU no es visible en el panel de métricas de Atlas y puede variar entre 20 % y 50 % para los tipos de instancias con capacidad de ráfaga. Puede usar cualquier valor dentro de ese rango para estimar los límites superior e inferior; en este ejemplo, 20 % representa el límite inferior de dicho rango.
Normalized System CPU: 60%
CPU steal: 10%
Evaluando las condiciones:
Condición 1 (AWS): requiere un promedio de Utilización relativa de la CPU del sistema > 90% durante 20 minutos Y un promedio de CPU steal > 30% durante 3 minutos.
CPU relativo: 60% ÷ 20% = 300%, limitado a 100%. Primer umbral alcanzado.
El robo de CPU es 10%, lo cual no supera el 30%. No se cumplió el segundo umbral.
Resultado: Condición 1 no cumplida. Ambos umbrales deben ser verdaderos.
Condición 2: requiere un promedio de Normalized System CPU > 90% durante 20 minutos.
La CPU del sistema normalizado es 60%, lo que no supera el 90%.
Resultado: Condición 2 no cumplida.
Condición 3: Se requiere un promedio de Uso Relativo de la CPU del Sistema > 75% durante 1 hora.
CPU relativa: 60% ÷ 20% = 300%, limitado a 100%.
Resultado: Condición 3 cumplida. Atlas activa el autoescalado.
Condiciones para la reducción de escala
Para optimizar costos, Atlas reduce automáticamente el tamaño de los nodos del clúster cuando se cumplen las condiciones que se describen en esta sección.
Atlas comienza a verificar estas condiciones desde el momento en que se habilita la reducción de escala, no de manera retroactiva. Incluso si tu clúster cumplía con estas condiciones antes de que habilitaras la reducción de escala, Atlas no reducirá la escala hasta que hayan transcurrido las ventanas de tiempo requeridas desde que habilitaste la funcionalidad.
Si el siguiente nivel de clúster más bajo se encuentra dentro de su rango Minimum Cluster Size, Atlas reduce la escala de los nodos de su clúster al siguiente nivel más bajo si se cumplen todos los criterios siguientes para todos los nodos del clúster:
Todos los nodos:
Atlas no ha reducido el tamaño del clúster (ni manualmente ni automáticamente) en las últimas 24 horas.
Atlas no ha realizado el provisionamiento ni reanudado el clúster en las últimas 24 horas.
Atlas no ha detenido ni reiniciado ningún nodo del clúster en las últimas 12 horas.
El promedio de Normalized System CPU está por debajo del 45% de los recursos disponibles para el clúster durante al menos los últimos 10 minutos Y las últimas 4 horas. Atlas utiliza el punto de control “media de 4 horas” como indicador de que la carga de la CPU se ha estabilizado en el nivel observado. Atlas utiliza el punto de control de "10 minutos promedio" como indicio de que no se han producido picos recientes de CPU que Atlas no haya capturado con el punto de control de "4 horas promedio".
Nota
Para los niveles
M10yM20, Atlas aplica el umbral de CPU del 45% en relación con la utilización base de CPU de la instancia en lugar del 100% estándar. Usando 20% como una estimación en el rango inferior, el umbral absoluto efectivo de CPU para la reducción de escala es de aproximadamente 9% (45% de 20%).El uso promedio de caché de WiredTiger está por debajo del 90% del tamaño máximo de caché de WiredTiger durante al menos los últimos 10 minutos Y las últimas 4 horas en el tamaño de nivel de clúster actual. Esto indica a Atlas que el clúster actual no está sobrecargado.
El Projected Memory Utilization en el nuevo nivel de clúster inferior está por debajo del 60% durante al menos los últimos 10 minutos Y las últimas 4 horas.
Para calcular Projected Memory Utilization, Atlas parte del uso actual de la memoria, visible como Memoria del sistema: Memoria utilizada (bytes) en las métricas de Atlas. Atlas resta el uso actual de la caché de WiredTiger, suma 80% del tamaño máximo de la caché de WiredTiger en el nuevo nivel inferior y, a continuación, divide el resultado por la RAM total de ese nivel.
Este valor difiere de System Memory Utilization, que mide toda la memoria en uso en relación con la RAM en el nivel actual.
Nota
Atlas incluye la caché de WiredTiger en este cálculo para aumentar la probabilidad de que los clústeres con una caché llena, pero con poco tráfico, reduzcan su tamaño. Para reducir su tamaño, deben cumplirse los dos umbrales siguientes:
90%: El uso de la caché WiredTiger del nivel actual debe ser inferior al 90% de su tamaño máximo.
60%: El Projected Memory Utilization del nuevo nivel inferior debe ser inferior a 60%.
Estas condiciones aseguran que Atlas escale a la baja los nodos operativos del clúster para evitar estados de alta utilización.
Nota
Atlas evalúa el escalado basado en memoria utilizando la utilización de memoria proyectada, que difiere del valor System Memory Utilization que se muestra en la interfaz de usuario de Atlas. Si no se produce una reducción de escala cuando System Memory Utilization aparece como bajo, póngase en contacto con el soporte de MongoDB.
- El promedio de Normalized System CPU y System Memory Utilization en las últimas 24 horas está por debajo del 50% de los recursos disponibles para el clúster.
Nota
M10y clústeresM20utilizan umbrales más bajos para tener en cuenta los límites de uso de la CPU establecidos por los proveedores de nube después de los períodos de ráfaga. Estos umbrales varían dependiendo del proveedor de nube y el nivel de clúster.
Escalado de un clúster fragmentado en Atlas Core
Esta sección se aplica a los clústeres Atlas Core. El sharding no es compatible con los clústeres Atlas Infinite durante la vista previa pública. Atlas escala automáticamente el nivel del clúster para los clústeres sharded utilizando los mismos criterios que los conjuntos de réplicas. Atlas aplica las siguientes reglas:
El escalado independiente de particiones está activado por defecto para clústeres fragmentados con escalado automático. Cuando se habilita el escalado independiente de particiones, el escalado automático en Atlas evalúa y escala cada partición de forma independiente. El escalado independiente de particiones requiere que la partición más pequeña no sea más pequeña que dos niveles de clúster por debajo de la partición más grande, para mantener la disponibilidad y el rendimiento. Si Atlas activa el escalado automático para un clúster de este tipo, y aumenta el tamaño de la partición más grande, también aumenta el tamaño de las particiones más pequeñas si es necesario para garantizar una disponibilidad y un rendimiento coherentes.
Si los nodos operativos o de análisis dentro de un fragmento cumplen con los criterios para el escalado automático, solo los nodos operativos o de análisis en ese fragmento específico cambian de nivel.
El set de réplicas del servidor de configuración no tiene escalado automático. Sin embargo, una partición de configuración se escala automáticamente.
Escalado de un clúster dedicado Gen2 en Atlas Core
Esta sección se aplica a los clústeres Atlas Core. Para obtener información sobre el escalado automático de clústeres Atlas Infinite, consulte Escalado automático de cómputo en Atlas Infinite. Atlas escala automáticamente el nivel del clúster para los clústeres dedicados Gen2 utilizando los mismos criterios que los conjuntos de réplicas. Atlas aplica las siguientes reglas:
El nivel actual, el límite mínimo de escalado automático y el límite máximo de escalado automático de tu clúster deben estar dentro de la misma generación.
M10y los clústeresM20son independientes de la generación. Atlas puede realizar el escalado automático de los clústeresM10o los clústeresM20Gen1 o Gen2.Por ejemplo, si el límite máximo de escalado automático es un nivel de clúster Gen1, Atlas escala automáticamente el clúster a Gen1. Si el límite máximo de escalado automático es un nivel de clúster Gen2, Atlas escala automáticamente el clúster a Gen2. También puedes usar
M10oM20como límite mínimo de escalado automático para clústeres Gen1 y Gen2.
La Atlas Administration API devuelve un error INVALID_ATTRIBUTE si se intenta hacer cualquiera de las siguientes acciones:
Se debe cambiar la generación de un clúster por una que sea diferente a la generación de los límites de escalado automático del clúster.
Se deben establecer los límites de escalado automático de un clúster para que sea un clúster de nivel
M30+que pertenezca a una generación diferente a la del clúster.
Nota
Cambiar la generación de clúster para clúster alojados en GCP
Los clústeres alojados en Google Cloud utilizan diferentes tipos de discos según la generación del clúster:
Gen1,
M10yM20clúster utilizan almacenamiento en disco persistente.Gen2 clústeres utilizan almacenamiento Hyperdisk.
Más información en Opciones de almacenamiento en la documentación de Google.
El escalado automático de un clúster alojado en Google Cloud desde un clúster M10 o M20 a un clúster Gen2 o viceversa requiere que Atlas mueva sus datos entre estos tipos de disco. Esto puede tardar más que el escalado automático de un clúster M10 o M20 a un clúster Gen1 y viceversa.
Escalado automático predictivo para el nivel de clúster
El escalado automático predictivo es una extensión del escalado automático.
Atlas usa la previsión de la demanda para el uso de recursos del host y realiza un escalado preventivo de la capacidad de cómputo del clúster para asegurar una utilización óptima de los recursos. Con el escalado automático predictivo, Atlas intenta escalar el clúster de forma proactiva, antes de los picos cíclicos de carga de trabajo.
El escalado automático predictivo está potenciado por un modelo de aprendizaje automático basado en patrones históricos. Atlas analiza la utilización de recursos en el nodo principal para tomar decisiones de escalado. El modelo predice cuándo la utilización de recursos será alta en función de los patrones históricos de uso, y Atlas escala el clúster hacia arriba si el modelo pronostica una alta utilización de recursos. MongoDB actualiza el modelo y sus criterios continuamente para optimizar el rendimiento de Atlas.
El modelo analiza una ventana de entrada móvil de 4semanas para identificar patrones cíclicos. Se puede captar cualquier patrón observable dentro de esta ventana, por ejemplo, ciclos horarios, diarios, semanales o bisemanales. Los patrones con periodos más largos, como ciclos mensuales o trimestrales, quedan fuera de la ventana de 4semanas y no son detectables.
Nota
Para los patrones cerca del límite superior de la ventana, la precisión puede disminuir porque ocurren menos ciclos completos dentro de la ventana.
El escalado automático predictivo ofrece los siguientes beneficios para los clústeres con cargas de trabajo predictivas y cíclicas:
Amplía automáticamente tu clúster para patrones de carga de trabajo cíclicos dentro de la ventana de entrada de 4semanas.
Mantén un rendimiento y una disponibilidad constantes durante períodos previsibles de alta demanda.
Reduce las tareas manuales de escalado o los scripts programados dejando que Atlas gestione los aumentos de capacidad.
Recurre sin problemas al escalado automático reactivo cuando los cambios en la carga de trabajo del clúster se salgan de los patrones predecibles y sean no cíclicos o impredecibles.
Para activar el escalado automático predictivo, tu clúster debe mantener registros de actividad continuos durante dos semanas. Una vez que cumpla con este criterio, el sistema habilita el escalado automático predictivo.
Nota
Si detienes tu clúster, el escalado automático predictivo requiere dos semanas consecutivas de actividad antes de que pueda reanudarse.
Comportamiento del escalado automático predictivo
Las siguientes instrucciones describen cómo funciona el escalado automático predictivo:
Atlas intenta escalar el tamaño de la instancia del clúster antes de que llegue la carga prevista.
Cuando Atlas escala el clúster de forma predictiva según métricas previstas, se puede escalar hacia arriba como máximo dos niveles a la vez.
El escalado automático predictivo se aplica solo al cómputo, no al almacenamiento.
El escalado automático predictivo respeta los tamaños mínimos y máximos de las instancias de escalado automático existentes.
En los casos en que Atlas no puede usar el escalado automático predictivo para escalar el clúster, recurre al escalado automático reactivo.
El escalado automático predictivo solo admite escalado hacia arriba. No hay reducción de escalado predictivo. Atlas utiliza el escalado automático reactivo para reducir automáticamente el tamaño del clúster cuando la carga de trabajo disminuye.
Si el escalado predictivo está programado para ocurrir dentro de las siguientes 1 hora, Atlas omite el escalado reactivo.
- Si usas escalado independiente de particiones y agregas una o más particiones después de que el escalado automático predictivo ya esté habilitado y activo en el clúster, estas particiones nuevas no se escalan de forma predictiva hasta que se establecen sus patrones de carga, lo que ocurre dos semanas después. Mientras tanto, estas particiones usan el comportamiento de escalado automático reactivo en Atlas.
Clústeres elegibles para el escalado automático predictivo
Atlas utiliza el escalado automático predictivo para los clústeres elegibles. Los clústeres elegibles para el escalado automático predictivo deben cumplir todos los siguientes criterios:
Pertenecen a las clases de clúster General y Low-CPU.
Tener un nivel que sea
M30o mayor.Habilite el escalado automático. Si habilita el escalado descendente, el tamaño mínimo de instancia para el escalado automático debe ser igual o superior a
M30.Haber estado activo durante al menos dos semanas.
No usar almacenamiento NVMe ni pertenecer a la clase de clúster Local NVMe SSD.
No ser un clúster dedicado AWS Gen2.
Además, los siguientes criterios afectan si Atlas utiliza el escalado automático predictivo para un clúster elegible:
El escalado automático predictivo se aplica solo a nodos elegibles y de solo lectura. Atlas no utiliza el escalado automático predictivo para los nodos de búsqueda o de análisis.
Es posible que el escalado automático predictivo no pueda predecir los picos de carga de trabajo no cíclicos y altamente dinámicos en ningún clúster elegible. En estos casos, Atlas confía en el escalado automático reactivo.
Consideraciones para la reducción de escalado del nivel del clúster
Puedes reducir manualmente el nivel de tu clúster desde la página Editar clúster. Las siguientes consideraciones se aplican cuando reduces manualmente el nivel de clúster:
Se debe estimar el rango de cargas de trabajo de la implementación y luego establecer el valor de Minimum Cluster Size al nivel de clúster que tenga suficiente capacidad para gestionar la carga de trabajo de la implementación. Se debe tener en cuenta cualquier posible pico o caída en la actividad del clúster.
No puede escalar a un nivel de clúster más pequeño que
M10.En un clúster Atlas Core, no se puede seleccionar un nivel mínimo de clúster inferior a la configuración de disco actual del clúster. Si el almacenamiento aumenta más allá de lo que admite el nivel mínimo de clúster, y Atlas aumenta la configuración de almacenamiento del clúster más allá de lo que admite dicho nivel mínimo, Atlas ajustará automáticamente el nivel mínimo de clúster a uno que admita los requisitos de almacenamiento actuales del clúster.
Ejemplo
Se han establecido los límites de escalado automático a
M20-M60y el nivel actual de clúster esM40con una capacidad de disco de 200GB. Atlas abre un evento de escalado automático de disco para aumentar la capacidad a 320GB porque el uso actual del disco supera los 180GB, lo cual es más del 90% de la capacidad de 200GB.Atlas lleva a cabo las siguientes acciones:
Se debe elevar el nivel mínimo de clúster al siguiente nivel más bajo,
M30, que puede acomodar la nueva capacidad de almacenamiento.M20admite una capacidad máxima de almacenamiento de 256GB, por lo que ya no es un límite válido para el escalado automático.Determina que el tamaño de la instancia actual
M40, soporta la nueva configuración de disco. El evento de escalado automático del disco se completa con éxito.
Configurar las opciones de escalado automático
Puedes configurar las opciones de escalado automático cuando creas o modifica un clúster. Para los nuevos clústeres, Atlas habilita automáticamente el escalado automático de niveles de clúster y el escalado automático de almacenamiento.
Las opciones de escalado automático de almacenamiento que se describen en esta sección se aplican a los clústeres Atlas Core.
Puedes hacer una de las siguientes:
Se deben revisar y ajustar los niveles superiores e inferiores de clúster que Atlas debería usar durante el escalado automático del clúster, o
Darse de baja del uso del escalado automático.
Atlas muestra opciones de escalado automático en la sección Auto-scale del constructor de clústeres para clústeres de los niveles General y Low-CPU.
Escalado automático activado por defecto
Cuando creas un nuevo clúster, Atlas habilita el escalado automático (predictivo y reactivo) para el nivel de clúster y el almacenamiento en clúster. (El escalado automático predictivo solo afecta al nivel de clúster y no afecta al almacenamiento.) No necesitas habilitar explícitamente el escalado automático. Si lo prefieres, puedes excluirte del nivel de clúster y del almacenamiento en clúster.
Nota
Atlas habilita el escalado automático de los niveles de clúster por defecto al crear clústeres en la interfaz de usuario de Atlas. Si creas clústeres con la API, el escalado automático del clúster no está seleccionado por defecto y debes habilitarlo explícitamente, usando las opciones en el objeto autoScaling del nodo Actualizar un clúster en un proyecto.
Con el escalado automático activado, su clúster puede automáticamente:
Escala para aumentar la capacidad con un nivel de clúster superior, utilizando escalado automático reactivo o predictivo, dependiendo de la elegibilidad del clúster y la carga de trabajo.
Reduce el nivel de clúster actual a un nivel de clúster inferior utilizando el escalado automático reactivo.
En la sección Cluster tier de las opciones de Auto-scale, puede especificar los valores de Maximum Cluster Size y Minimum Cluster Size a los que su clúster puede escalar automáticamente. Atlas establece estos valores de la siguiente manera:
El Maximum Cluster Size está configurado en un nivel por encima del nivel de clúster actual.
El Minimum Cluster Size está establecido en el nivel de clúster actual.
Además, Atlas podría usar escalado automático predictivo si el clúster es elegible y la carga de trabajo es cíclica y predecible.
Habilita el escalado automático con Atlas CLI y la API de administración de Atlas
Puedes habilitar el escalado automático tanto para el cómputo como para el almacenamiento al crear o actualizar un clúster mediante Atlas CLI o la API de administración de Atlas. Los siguientes ejemplos muestran cómo habilitar el escalado automático tanto para los nodos elegibles como para los nodos de análisis. Reemplaza los niveles de clúster y la configuración del proveedor con los que necesites.
Para configurar el escalado automático con la Atlas CLI, cree un archivo JSON que contenga la configuración de escalado automático y luego especifíquelo en el comando atlas api clústeres updateCluster.
Usa el comando atlas api clusters updateCluster para llamar directamente a la API y habilitar la configuración de escalado automático en un clúster existente. Para habilitar el escalado automático al crear un nuevo clúster, usa el comando atlas api clusters createCluster.
Crear el archivo de carga.
Cree un archivo payload.json con el siguiente contenido. Reemplace los valores de los marcadores de posición con su configuración específica del clúster:
{ "replicationSpecs": [ { "regionConfigs": [ { "providerName": "{CLOUD-PROVIDER}", "regionName": "{REGION-NAME}", "priority": 7, "electableSpecs": { "instanceSize": "{INSTANCE-SIZE}", "nodeCount": 3 }, "analyticsSpecs": { "instanceSize": "{ANALYTICS-INSTANCE-SIZE}", "nodeCount": 1 }, "autoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } }, "analyticsAutoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-ANALYTICS-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-ANALYTICS-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } } } ] } ] }
Ejecutar el comando de actualización.
Después de crear el archivo payload.json, se debe ejecutar el siguiente comando para habilitar el escalado automático en un clúster existente y especificar el archivo JSON con el indicador --file:
atlas api clusters updateCluster \ --version 2024-10-23 \ --clusterName {CLUSTER-NAME} \ --groupId {GROUP-ID} \ --file payload.json
Se puede usar la API de administración de Atlas para habilitar el escalado automático al especificar la configuración de escalado automático en el cuerpo de la solicitud.
Se debe usar el endpoint Actualizar un clúster en un proyecto para habilitar el escalado automático al incluir el objeto autoScaling.
Nota
Este curl comando utiliza un token de acceso a la cuenta de servicio(OAuth.) 2 0para autenticarse en lugar de claves API. Para obtener más información, consulte Introducción a la API de administración de Atlas.
curl --header "Authorization: Bearer {ACCESS-TOKEN}" \ --header "Accept: application/vnd.atlas.2025-03-12+json" \ --header "Content-Type: application/json" \ --include \ --request PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{GROUP-ID}/clusters/{CLUSTER-NAME}" \ --data '{ "replicationSpecs": [ { "regionConfigs": [ { "providerName": "{CLOUD-PROVIDER}", "regionName": "{REGION-NAME}", "priority": 7, "electableSpecs": { "instanceSize": "{INSTANCE-SIZE}", "nodeCount": 3 }, "autoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } }, "analyticsSpecs": { "instanceSize": "{ANALYTICS-INSTANCE-SIZE}", "nodeCount": 1 }, "analyticsAutoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-ANALYTICS-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-ANALYTICS-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } } } ] } ]'
Revisa las opciones de escalado automático de niveles de clúster
Para revisar las opciones de escalado automático habilitadas para los niveles de clúster y almacenamiento:
Excluir el nivel del clúster del escalado automático
Para optar por no participar en el escalado automático del clúster (aumentar el nivel de clúster), cuando crea un nuevo clúster, navega hasta el menú Cluster Tier y desmarque la casilla Cluster Tier Scaling en la sección Auto-scale.
Para optar por no participar en el escalado automático del clúster (disminuyendo el nivel de clúster), cuando crea un nuevo clúster, navega al menú Cluster Tier y desmarque la casilla Allow cluster to be scaled down en la sección Auto-scale.