Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.

Escalado automático vertical de Atlas Stream Processing

El escalado automático vertical ajusta automáticamente el nivel de un procesador de transmisión en respuesta a su uso de recursos. Cuando habilita el escalado automático, Atlas Stream Processing escala un procesador hacia arriba o hacia abajo dentro del rango de niveles que defina. No es necesario detener y reiniciar manualmente el procesador para cambiar su nivel.

El escalado automático le ayuda a gestionar cargas de trabajo fluctuantes, absorber picos de tráfico inesperados y evitar fallos que se producen cuando un procesador agota los recursos de su nivel. Como Atlas Stream Processing gestiona internamente las decisiones de escalado, no es necesario que supervise el uso ni redimensione los procesadores usted mismo.

Considera habilitar el autoescalado vertical en los siguientes escenarios:

  • Dimensionamiento inicial incierto: Si no puede estimar con precisión el nivel que requiere un procesador, comience con un nivel más pequeño y permita que el escalado automático ajuste el nivel para que coincida con la carga real.

  • Tráfico variable o en aumento: Si su carga de trabajo experimenta un crecimiento orgánico o picos periódicos, el escalado automático aumenta los recursos durante la alta demanda y los reduce durante la baja demanda.

  • Resiliencia operativa: Si un procesador de tamaño insuficiente corre el riesgo de fallar durante los picos de eventos, el escalado automático eleva el nivel automáticamente para mantener el procesador en funcionamiento.

Cuando habilita el autoescalado para un procesador de transmisión, Atlas Stream Processing supervisa el uso de CPU y memoria del procesador y lo compara con umbrales gestionados internamente. Atlas Stream Processing controla estos umbrales para equilibrar la capacidad de respuesta y la estabilidad, y no los puede configurar.

Para cambiar el nivel de un procesador, Atlas Stream Processing realiza las siguientes acciones:

1

Atlas Stream Processing detiene el procesador en su nivel actual.

2

Atlas Stream Processing mueve el procesador al siguiente nivel en la jerarquía de niveles: SP2, SP5, SP10, SP30, SP50.

3

Atlas Stream Processing reinicia el procesador en el nuevo nivel y reanuda la operación desde el último punto de control confirmado, por lo que no se pierden datos.

Atlas Stream Processing escala un procesador hasta el siguiente nivel superior cuando el uso de recursos del procesador supera uno de los siguientes umbrales de escalado durante un período prolongado:

  • El uso de la CPU está por encima del 90% durante 60 minutos

  • El uso de memoria está por encima del 80% durante 60 minutos, o por encima del 90% durante 30 segundos

Atlas Stream Processing también escala un procesador si el procesador se queda sin memoria. Cuando el escalado automático está habilitado, una condición de falta de memoria escala el procesador al siguiente nivel superior en lugar de hacer que el procesador falle.

El escalado vertical responde rápidamente a la presión sostenida de los recursos para proteger la disponibilidad del procesador.

Atlas Stream Processing escala un procesador solo cuando el siguiente nivel superior es menor o igual que el maxTier configurado.

Atlas Stream Processing reduce la escala de un procesador al siguiente nivel inferior cuando el uso de CPU y memoria del procesador permanece por debajo de un umbral de reducción de escala durante más de dos días. El umbral de escalado descendente es el umbral de escalado ascendente del siguiente nivel inferior, menos un búfer del 10% que evita que el procesador vuelva a escalar de inmediato. Este período de estabilización de dos días hace que la reducción de escala sea deliberadamente lenta para evitar el escalado frecuente entre niveles.

Atlas Stream Processing reduce la escala de un procesador solo cuando el siguiente nivel inferior es mayor o igual que el configurado minTier.

Mientras Atlas Stream Processing gestiona los umbrales de escalado, usted controla el rango de niveles entre los que un procesador puede escalar con dos configuraciones:

Configuración
Descripción

minTier

El nivel más bajo al que el procesador puede escalar. Garantías un nivel básico de recursos y establece un costo mínimo.

maxTier

El nivel más alto al que el procesador puede escalar. Limita el consumo de recursos y el costo, y evita que un pico anómalo escale el procesador a un nivel innecesariamente costoso.

Si no especifica minTier o maxTier cuando habilita el escalado automático, Atlas Stream Processing utiliza la configuración del espacio de trabajo de Stream Processing por defecto:

  • Si no especifica minTier, Atlas Stream Processing utiliza el menor del nivel por defecto del espacio de trabajo de Stream Processing y el nivel en el que inicia el procesador. El uso del valor inferior evita una configuración inválida cuando el nivel por defecto está por encima del nivel inicial.

  • Si no especifica maxTier, Atlas Stream Processing utiliza el tamaño máximo del nivel del espacio de trabajo de Stream Processing. Si el espacio de trabajo de Stream Processing no tiene un tamaño máximo de nivel, el procesador devuelve un error y no se inicia.

Algunas funcionalidades de pipeline requieren un nivel mínimo. Por ejemplo, los procesadores que utilizan procesadores de conmutación por error requieren un nivel mínimo de SP10. Establezca minTier en al menos el nivel mínimo que requiere el pipeline de su procesador.

La siguiente tabla muestra cómo minTier y maxTier limitan las acciones de escalado:

Configuración de nivel
Nivel actual
Acción de escalar
Nivel resultante

minTier: SP5, maxTier: SP30

SP10

escalado

SP30

minTier: SP5, maxTier: SP30

SP30

escalado

Queda SP30 (máximo alcanzado)

minTier: SP5, maxTier: SP30

SP10

Reducir la escala

SP5

minTier: SP5, maxTier: SP30

SP5

Reducir la escala

Queda SP5 (mínimo alcanzado)

Puede habilitar, modificar y deshabilitar el escalado automático para un procesador de transmisión con la opción autoscaling en el sp.processor.start() o sp.processor.modify() método en mongosh. Atlas Stream Processing persiste la configuración de escalado automático, por lo que un procesador reutiliza su configuración anterior si lo detiene y lo reinicia sin cambios.

Para habilitar el escalado automático con los niveles por defecto y máximos del espacio de trabajo de Stream Processing como límites, utilice la siguiente sintaxis:

sp.processor.start({autoscaling: {enabled: true}})

Para habilitar el escalado automático con límites de nivel explícitos, especifique minTier y maxTier:

sp.processor.start( {autoscaling: {enabled: true, minTier: "SP2", maxTier: "SP50"}})

Para establecer el nivel en el que se inicia un procesador mientras se le permite escalar dentro de un rango diferente, especifique tier con la opción autoscaling:

sp.processor.start( {tier: "SP10", autoscaling: {enabled: true, minTier: "SP5", maxTier: "SP30"}})

Para cambiar los límites de nivel de un procesador existente, detenga el procesador y, a continuación, modifique los niveles de nivel con los nuevos valores. Debe detener un procesador antes de modificarlo. Atlas Stream Processing cambia solo los valores que proporcione:

sp.processor.modify( {autoscaling: {enabled: true, minTier: "SP2", maxTier: "SP30"}})

Para deshabilitar el escalado automático, detenga el procesador y establezca enabled en false:

sp.processor.modify({autoscaling: {enabled: false}})

Cuando desactiva el escalado automático, Atlas Stream Processing fija el effectiveTier del procesador a su línea de base tier.

Cuando el escalado automático está habilitado, Atlas Stream Processing rastrea dos valores de nivel para un procesador:

  • tier: El nivel de referencia que estableció. Atlas Stream Processing no cambia este valor mediante el escalado automático. Solo cambia cuando establece una nueva línea de base, que entra en vigor la próxima vez que inicie el procesador.

  • effectiveTier: Un valor de solo lectura que muestra el nivel en el que se está ejecutando realmente el procesador. Cuando se habilita el escalado automático, Atlas Stream Processing ajusta effectiveTier dentro del rango establecido por minTier y maxTier. Cuando se deshabilita el escalado automático, effectiveTier coincide con tier.

Si detiene un procesador después de que el escalado automático cambie su effectiveTier, Atlas Stream Processing reinicia el procesador en su último effectiveTier, no en el tier en el que lo inició inicialmente. Este comportamiento permite al procesador reanudar su carga de trabajo anterior sin esperar a escalar automáticamente de nuevo.

Para ver la configuración de escalado automático de un procesador y el nivel actual, utilice el método sp.processor.stats(). La salida incluye la línea de base tier, el effectiveTier de solo lectura y un objeto autoscaling con minTier y maxTier:

sp.processor.stats(){ ok: 1, name: 'sampleProc', state: 'STARTED', tier: 'SP10', effectiveTier: 'SP10', autoscaling: { minTier: 'SP2', maxTier: 'SP50' }, stats: { ... }, ...}

Si inicia un procesador con un valor tier fuera del rango de autoescalado configurado, ya sea por debajo de minTier o por encima de maxTier, el procesador devuelve un error y no se inicia.

Si un procesador agota sus recursos en el maxTier configurado, Atlas Stream Processing se comporta de la siguiente manera:

  • Agotamiento de la memoria: El procesador falla con un error de memoria insuficiente.

  • Agotamiento de la CPU: El procesador sigue funcionando.

Si un procesador alcanza maxTier y no puede seguir el ritmo de su carga de trabajo, considere optimizar la lógica de su pipeline o aumentar maxTier.

Atlas Stream Processing registra cada evento de escalado y reducción. Cada registro identifica el procesador y el espacio de trabajo de Stream Processing, si el evento es un escalado o una reducción, los niveles a los que se movió el procesador y desde los que se movió, y la métrica que activó el evento. Para aprender a ver eventos de escalado y configurar alertas, consulte Supervisar procesadores de Stream Processing.

Para aprender a crear y gestionar los Stream Processors en los que habilita el escalado automático, consulte Desarrollar Stream Processors.

Para elegir un rango de niveles adecuado para su carga de trabajo, consulte la Guía de selección de niveles.