Todos los productos
Search
Centro de documentos

Serverless App Engine:Mejores prácticas para el auto scaling de SAE

Última actualización: Sep 05, 2026

El auto scaling de SAE escala horizontalmente las instancias de la aplicación en segundos cuando hay picos de tráfico y las reduce una vez que estos disminuyen. Esto mantiene la estabilidad de sus aplicaciones con una sobrecarga operativa mínima. Este tema toma como ejemplo una promoción de comercio electrónico y describe el despliegue de aplicaciones, la configuración de reglas de escalado, el monitoreo en tiempo real y la optimización posterior al evento, con el fin de garantizar que su plataforma maneje los aumentos de demanda de manera confiable.

Flujo de trabajo del auto scaling

La siguiente figura muestra el flujo de trabajo integral del auto scaling de SAE.

dg_best_practice_of_sae_scaling_rule

Prepare su aplicación

  • Configure una comprobación de estado: esto garantiza que el tráfico se dirija a una instancia solo después de que se haya iniciado y esté lista para atender solicitudes, lo cual mantiene la disponibilidad general durante el escalado. Para obtener más información, consulte Set a health check.

  • Configure la gestión del ciclo de vida de la aplicación: asegure un apagado ordenado durante la reducción de instancias mediante la configuración de PreStop Settings. Para obtener más información, consulte Set up application lifecycle management.

  • Implemente un mecanismo de retroceso exponencial para las llamadas de servicio en su aplicación Java. Esto permite manejar fallos causados por retrasos en el escalado, inicios lentos o apagados no ordenados.

  • Optimice la velocidad de inicio de su aplicación.

    • Optimización del paquete: minimice factores externos como la carga de clases y el almacenamiento en caché para reducir el tiempo de inicio.

    • Optimización de la imagen: reduzca el tamaño de la imagen para acortar los tiempos de descarga al crear instancias. Puede usar herramientas de código abiertoopen-source tools para analizar y simplificar las capas de la imagen.

    • Optimización del inicio de aplicaciones Java: habilite la aceleración de aplicaciones al crear una aplicación en SAE; para ello, seleccione el entorno Dragonwell 11.

Configure una directiva de auto scaling

Elija métricas de escalado

SAE admite varias métricas de Monitoreo básico y Monitoreo de aplicaciones. Configure estas métricas según si su aplicación requiere uso intensivo de CPU, memoria o E/S.

Revise los datos históricos de las métricas relevantes en Basic Monitoring y Application Monitoring (como valores pico, P95 o P99 en las últimas 6 horas, 12 horas, 1 día o 7 días) para estimar un valor objetivo. Utilice una herramienta de pruebas de carga como Performance Testing Service (PTS) para evaluar la capacidad máxima de su aplicación, incluido su límite de solicitudes concurrentes, requisitos de recursos (CPU y memoria) y comportamiento de respuesta bajo alta carga.

Al configurar una directiva de auto scaling, considere los siguientes factores:

  • Equilibre la disponibilidad y el costo al establecer los valores objetivo de las métricas:

    • Estrategia optimizada para disponibilidad: establezca el valor de la métrica en 40 %.

    • Estrategia equilibrada: establezca el valor de la métrica en 50 %.

    • Estrategia optimizada para costos: establezca el valor de la métrica en 70 %.

  • Revise las dependencias, como servicios ascendentes y descendentes, middleware y bases de datos. Configure directivas de escalado correspondientes o mecanismos de limitación y degradación para mantener la disponibilidad integral durante el escalado horizontal.

Después de configurar su directiva de escalado, monitórela y ajústela para alinear la capacidad con la carga real de la aplicación. Para obtener más información sobre el monitoreo, consulte View Basic Monitoring data.

Configure métricas de memoria

En las aplicaciones Java, la optimización del entorno de ejecución mejora la correlación entre las métricas de memoria y la carga de negocio mediante la liberación de memoria física. El uso del entorno de ejecución Dragonwell con el parámetro JVM ElasticHeap permite el escalado dinámico de la memoria heap de Java, lo que reduce el consumo de memoria física durante la ejecución. Para obtener más información sobre ElasticHeap, consulte G1ElasticHeap.

Se recomienda el modo Dragonwell+ElasticHeap Periodic uncommit (automático). Para consultar los pasos detallados, vea Deploy a Java application y Set a startup command.

  • Entorno Java: en la sección Configure JAR Package, seleccione una configuración de Dragonwell en la lista desplegable Java Environment.配置Jar包

  • Parámetro JVM: en la sección Startup Command Settings, introduzca -XX:+ElasticHeapPeriodicUncommit.启动参数

Nota

El escalado basado en memoria no es adecuado para algunas aplicaciones que utilizan gestión dinámica de memoria, como aquellas que dependen de la gestión de memoria JVM de Java o de las operaciones Malloc y Free de Glibc. Si estas aplicaciones no liberan rápidamente la memoria inactiva al sistema operativo, el consumo de memoria de la instancia no disminuye en tiempo real. Esto también puede impedir que se active la reducción de instancias, ya que el consumo promedio de memoria entre las instancias se mantiene alto.

Configure el recuento de instancias

  • Instancias mínimas

    Establezca el recuento mínimo de instancias en 2 o más y configure vSwitches en varias zonas. Esto evita la interrupción de la aplicación si se desaloja una instancia debido a un fallo en el nodo o si no hay instancias disponibles en una zona.

  • Instancias máximas

    Asegúrese de que el recuento máximo de instancias sea menor o igual al número de direcciones IP disponibles en el vSwitch. Esto previene fallos en el escalado horizontal causados por el agotamiento de direcciones IP.

    Compruebe las direcciones IP disponibles para la aplicación actual en la sección Application Information de la página Basic Information. Si el recuento es bajo, reemplace o agregue un vSwitch.

    应用信息

Observe el proceso de auto scaling

Límite máximo de instancias

En la página Overview de la aplicación, puede consultar su estado de auto scaling. Monitoree las aplicaciones que alcancen su límite máximo de instancias y vuelva a evaluar su configuración de escalado.

弹性生效的应用

Nota

Si una sola aplicación necesita escalar horizontalmente a más de 50 instancias, únase al grupo de DingTalk (ID de grupo: 32874633) para solicitar la inclusión en la lista de permitidos.

Reequilibrio de zonas

Después de un evento de reducción de instancias, estas pueden quedar distribuidas de forma desigual entre las zonas. Consulte la zona de cada instancia en la lista de instancias dentro de la página Basic Information de la aplicación. Si la distribución está desequilibrada, active el reequilibrio de zonas mediante la opción Restart en una instancia.

vSwitch

Reanudación automática

Cuando ejecuta una orden de cambio, como el despliegue de una aplicación, SAE pausa temporalmente la directiva de auto scaling de dicha aplicación para evitar conflictos. Para restaurar la directiva automáticamente una vez completada la orden de cambio, seleccione Automatic en la página Deploy Application.

恢复自动弹性方式

Mantenimiento del auto scaling

Eventos de la aplicación

En la página Application Events, puede observar el comportamiento del auto scaling de SAE, incluida la hora y el tipo de acciones de escalado. Utilice esta información para evaluar y ajustar su directiva de escalado según sea necesario. Para obtener más información, consulte View application events.

应用事件

Gráfico de tendencias de instancias de la aplicación

En la página Basic Information de la aplicación, la pestaña Basic Information contiene el Application Instance Trend Chart. Este gráfico muestra las métricas de monitoreo de los últimos 7 días, incluidas la utilización de CPU, el uso de memoria, las conexiones TCP activas, las solicitudes de servicio y el tiempo promedio de respuesta.

sc_pod_trend_indicator_chart