Configuración del escalado de una aplicación
Con « IBM Cloud® Code Engine », no tienes que preocuparte por el escalado de tu aplicación, ya que el número de instancias en ejecución de una aplicación se amplía o se reduce automáticamente (hasta cero) en función de las cargas de trabajo entrantes. Con el escalado automático, no se pagan los recursos que no se utilizan.
Code Engine supervisa el número de solicitudes en el sistema y escala las instancias de aplicación hacia arriba y hacia abajo según la carga de las solicitudes entrantes, incluidas las conexiones HTTP a la aplicación. Estas conexiones HTTP pueden ser solicitudes que proceden de fuera del proyecto, de otras cargas de trabajo que se ejecutan en el proyecto o de productores de sucesos a los que podría estar suscrito, independientemente de dónde se encuentren esos productores. Code Engine replica automáticamente las instancias de aplicación y configura la infraestructura de red para equilibrar la carga de las solicitudes entre todas las instancias.
Cómo funciona el escalado
Code Engine supervisa la cantidad de solicitudes en el sistema y amplía o reduce las instancias de la aplicación, dentro de las restricciones de los valores de simultaneidad de la aplicación.
Para observar el escalado de la aplicación desde la consola de Code Engine, vaya a la página de la aplicación específica. Mientras la aplicación se está ejecutando, el número de instancias
en ejecución es 1 o superior en función del número máximo de instancias que ha especificado. Cuando la aplicación maneja menos solicitudes que su simultaneidad de destino configurada, la aplicación escala el número de instancias
en ejecución hasta el número mínimo configurado de instancias. Si el número mínimo de instancias se establece en « 0 » (valor por defecto), la aplicación se reduce a cero y el número de instancias de la aplicación refleja las
instanci 0 es. Cuando la aplicación se escala hacia abajo y se direcciona una solicitud a la aplicación, Code Engine escala la aplicación y direcciona la solicitud a la instancia de aplicación recién creada.
Para que las aplicaciones puedan reducir la escala de forma limpia, el código de aplicación debe manejar una señal SIGTERM. Cuando « Code Engine » reduce automáticamente su capacidad, se envía una señal SIGTERM a tu aplicación. Si la aplicación
no maneja la señal SIGTERM, las instancias de la app permanecerán en estado Terminating durante el tiempo configurado por el valor de tiempo de espera de solicitud (el valor predeterminado es 300 segundos). Una vez transcurrido
el tiempo de espera de la solicitud, Code Engine envía una señal SIGKILL para detener de forma forzada las instancias de la aplicación que se encuentran en estado « Terminating ».
Límites del escalado
Puedes configurar los límites de escalado estableciendo un rango de valores para el número mínimo y máximo de instancias, dentro del cual Code Engine ajusta automáticamente el número de instancias en ejecución de tu aplicación. Configure este rango al crear o actualizar aplicaciones.
-
Número mínimo de instancias-El número mínimo de instancias de la app que siempre se están ejecutando, incluso si no se procesa ninguna solicitud. Cuando se establece en
0(valor predeterminado), Code Engine elimina todas las instancias cuando no llega tráfico a la aplicación. Para mantener siempre una instancia en ejecución de la aplicación, establezca este valor en un valor mayor que0. Cuando cree o actualice una aplicación con Code Engine desde la consola, establezca el número mínimo de valor de instancias en la sección Escalado automático del separador Recursos y escalado. En la CLI, especifica la opción «--min-scale» en elapp createyapp updatecomandos . -
Número máximo de instancias-El número máximo de instancias que se pueden ejecutar para la app. El autoescalado se produce hasta este límite. Si estableces este valor en «
0», la aplicación se escalará según sea necesario, y el escalado de la aplicación solo estará limitado por el número de instancias que permita la cuota de recursos del proyecto de tu aplicación. Consulte Límites y cuotas de Code Engine. Cuando cree o actualice una aplicación con Code Engine desde la consola, establezca el número máximo de instancias en la sección Escalado automático del separador Recursos y escalado. En la CLI, especifica la opción «--max-scale» en elapp createyapp updatecomandos . El valor predeterminado de esta opción es «10».
Cuando conecte las aplicaciones a los generadores de sucesos, recuerde indicar la frecuencia y el volumen de sucesos de esos generadores cuando establezca los binarios del escalado. Por ejemplo, si se prevé recibir muchos eventos al mismo tiempo y el procesamiento de cada uno de ellos puede llevar varios minutos, es posible que se necesite un valor máximo de escala más alto que si cada evento se pudiera procesar rápidamente. Si se define un valor demasiado bajo, puede que detecte retrasos al recibir los sucesos o incluso sucesos descartados debido a los tiempos de espera producidos mientras se esperaba la liberación del proceso de recursos.
Valores de escalado automático para simultaneidad y temporización
Utiliza los siguientes parámetros de configuración para controlar el escalado de la aplicación.
-
Concurrencia: este valor indica cuántas solicitudes puede procesar cada instancia de tu aplicación al mismo tiempo. Por ejemplo, un valor de 100 significa que tu código puede gestionar 100 solicitudes simultáneas al mismo tiempo. Este valor es un "límite estricto", lo que significa que Code Engine no permite que más de un número de solicitudes (como se especifica con el valor de simultaneidad) lleguen a cualquier instancia de la aplicación. Por lo tanto, si tu código es de un solo hilo y solo puede procesar una solicitud a la vez, plantéate establecer la concurrencia en «
1». Cuando se envía el número especificado de solicitudes a todas las instancias en ejecución de tu aplicación, Code Engine aumenta el número de instancias para prepararse para recibir más solicitudes. Cuando cree o actualice una aplicación con Code Engine desde la consola, establezca el valor máximo de simultaneidad en la sección Escalado automático del separador Recursos y escalado. Con la CLI, especifique la opción--concurrencyen los mandatosapp createyapp update. -
Concurrencia objetivo: este valor actúa como un «límite flexible» o número de solicitudes por instancia que se desea en un sistema con carga. Por ejemplo, si se especifica
concurrencycomo100y se especificatarget concurrencycomo70, entonces Code Engine intentará limitar el número de solicitudes por instancia a 70.Especificar esta opción no garantiza que el número de solicitudes por instancia no supere las 70, ya que es muy probable que esto ocurra durante un aumento del tráfico. Sin embargo, el almacenamiento intermedio comprendido entre 70 y 100 permite al sistema crear nuevas instancias para que la carga por instancia vuelva a bajar a 70 (o menos) por instancia. Si no se especifica «target concurrency», el valor por defecto es el de «concurrency». Cuando crees o actualices una aplicación con « Code Engine » desde la consola, configura el valor de concurrencia objetivo en la sección «Autoscaling» de la pestaña « Resources & scaling ». En la CLI, especifica la opción «--concurrency-target» en elapp createyapp updatecomandos . -
Tiempo de espera de solicitud-La cantidad de tiempo, en segundos, que la aplicación debe responder a las solicitudes, o de lo contrario fallarán. Cuando cree o actualice una aplicación con Code Engine desde la consola, establezca el valor de tiempo de espera de solicitud en la sección Escalado automático del separador Recursos y escalado. En la CLI, especifica la opción «
--request-timeout» en elapp createyapp updatecomandos . -
Retardo de reducción de escala: el tiempo, en segundos, que debe transcurrir con una concurrencia reducida antes de que la aplicación reduzca su escala. Si conoce el patrón de solicitudes entrantes a la aplicación, puede optar por especificar un valor mayor que el valor predeterminado de
0para retrasar el escalado hacia abajo de la aplicación. Si utiliza un valor alto para esta opción, el número promedio de instancias de aplicación que se ejecutan simultáneamente puede aumentar, lo que incurre en un coste adicional. Incluso con un valor de retardo de reducción de escala de0, el sistema espera un breve periodo de tiempo antes de que la aplicación reduzca el número de instancias para asegurarse de que un descenso en la simultaneidad de solicitudes sea lo suficientemente estable como para garantizar un descenso de escala. Al crear o actualizar una aplicación con Code Engine desde la consola, establezca el valor de retardo de escalado descendente en la sección Escalado automático del separador Recursos y escalado. En la CLI, especifica la opción «--scale-down-delay» en elapp createyapp updatecomandos .
Por ejemplo, si el valor de número máximo de instancias se establece en 10 y la simultaneidad se establece en 100, una aplicación puede procesar 1000 solicitudes simultáneas antes de que se pueda producir una posible
puesta en cola de solicitudes. Si espera más de 1000 solicitudes simultáneamente, puede considerar aumentar el valor de número máximo de instancias para la app.
Para obtener más información sobre el funcionamiento de Code Engine, consulte Ajuste del retardo de escalado de IBM Cloud Code Engine para reducir los tiempos de respuesta de las aplicaciones.
Si establece el número mínimo de instancias igual al número máximo de instancias, el escalado no se produce y la moneda de destino y los valores de retardo de reducción no se aplican. Sin embargo, el valor de simultaneidad sigue en vigor.
Escenario de ejemplo para el escalado automático
Supongamos que tiene una aplicación que está configurada con los siguientes valores de escalado automático.
- Número mínimo de instancias = 4
- Número máximo de instancias = 20
- Simultaneidad = 2
Con estos valores, la aplicación puede procesar 2 solicitudes simultáneas al mismo tiempo. Cuando no hay tráfico, la aplicación se escala automáticamente a 4 instancias. Las 4 instancias sólo pueden manejar 4 * 2 (moneda) = 8 solicitudes. La aplicación puede escalar hasta un máximo de 20 instancias, de modo que las 20 instancias pueden manejar 20 * 2 (moneda) = 40 solicitudes, suponiendo que haya suficientes valores de CPU y memoria para la aplicación.
Supongamos que la aplicación es una aplicación web estática que requiere 6 llamadas a la aplicación para cargar una página de inicio de sesión. Supongamos que 10 personas inician sesión en la página de inicio de sesión de la aplicación al mismo tiempo (10 * 6 = 60 llamadas). Debido a que 60 llamadas son mayores que 40 solicitudes que la aplicación puede manejar, los usuarios de la aplicación probablemente observen lentitud a medida que las llamadas se ponen en cola.
Después de aproximadamente un minuto sin tráfico en la app, Code Engine empieza a disminuir automáticamente. Cuando la aplicación se escala hacia abajo, algunas instancias se establecen en estado Terminating. Code Engine envía
una señal SIGTERM a la aplicación y el código debe manejar esta señal y concluir. Si la aplicación no maneja esta señal, las instancias de la app permanecen en estado Terminating durante el tiempo configurado por el valor de
tiempo de espera de solicitud (el valor predeterminado es 300 segundos). Después de la duración del tiempo de espera de solicitud, Code Engine envía una señal SIGKILL para forzar la detención de las instancias de aplicación en estado Terminating.
Si tiene 8 instancias activas y 12 instancias permanecen en estado Terminating durante 300 segundos (5 minutos). Estas 12 instancias no reciben ninguna solicitud. Si entran más de 8 * 2 (currency) = 16 solicitudes, Code Engine
escala las nuevas instancias.
En este ejemplo, el valor de simultaneidad de 2 es bajo para este contenido estático. Debe determinar los valores de escalado automático que se deben establecer para la app, que depende de lo que la implementación de la app pueda
manejar con sus recursos de CPU y memoria asignados.
Optimización de la latencia y del rendimiento
Para optimizar la latencia y el rendimiento de la aplicación, debe entender los pros y los contras de algunos modelos comunes y las prácticas recomendadas para configurar la simultaneidad del contenedor.
Utiliza la configuración de concurrencia para especificar el número máximo de solicitudes que se pueden procesar simultáneamente por instancia al crear o actualizar una aplicación. En la consola de Code Engine, establezca el valor de simultaneidad
en la sección Tiempo de ejecución. Con la CLI, utilice la opción --concurrency (alias --cn) con el mandato app create o app update.
| Modelo | Pros | Cons |
|---|---|---|
Simultaneidad única, --cn=1 |
Elija la configuración de simultaneidad única cuando la aplicación sirva una carga de trabajo con gran consumo de memoria o de CPU porque solo entra una solicitud en la instancia de aplicación a la vez y, por lo tanto, obtiene la cantidad total de CPU y memoria configurada para la instancia. | Las aplicaciones que utilizan el modelo de simultaneidad única se escalan horizontalmente de forma rápida. El escalado horizontal puede suponer latencia adicional y un rendimiento inferior, porque es más caro crear una nueva instancia de aplicación que volver a utilizar una existente. No elija este modelo si las solicitudes se pueden procesar simultáneamente y la latencia es un aspecto importante a tener en cuenta para la aplicación. |
Alta simultaneidad, --cn=100 (valor predeterminado) o superior |
Elija esta configuración si la aplicación sirve un gran volumen de cargas de trabajo de solicitud o de respuesta HTTP que no utilizan gran cantidad de CPU de memoria y pueden esperar a que haya recursos disponibles. Podrías optar por esta configuración de concurrencia para un back-end de API que lee y escribe datos en operaciones de creación, recuperación, actualización y eliminación en una base de datos remota. Mientras algunas solicitudes esperan E/S, otras solicitudes se pueden procesar sin que ello afecte a la latencia general ni al rendimiento. | Este valor no resulta óptimo cuando solicitudes simultáneas compiten por CPU, memoria o E/S porque la competencia por recursos puede retrasar la ejecución y afectar negativamente a la latencia y al rendimiento. |
Simultaneidad óptima, --cn=N |
Elija la configuración de simultaneidad óptima si sabe la cantidad de recursos necesarios para que una sola solicitud cumpla el tiempo de respuesta que desea para la aplicación. Podrías optar por esta configuración si tu aplicación es
una aplicación de traducción de lenguaje natural, en la que el modelo de aprendizaje automático para la conversión de idiomas ocupa 32 GB, y cada cálculo de traducción requiere aproximadamente 0.7 vCPU por solicitud.
Puede elegir una configuración de 9 vCPU y 32 GB de memoria por instancia. La simultaneidad de contenedor óptima es aproximadamente 13 (9 vCPU/0.7 vCPU). |
No elija la configuración de simultaneidad óptima si no conoce los requisitos de recursos para la aplicación. Si se define una simultaneidad de contenedor errónea, se puede producir un escalado demasiado agresivo o demasiado lento, lo que puede afectar a la latencia, a la tasa de error y a los costes de la aplicación. Para obtener más información, consulte Determinación de la simultaneidad para el contenedor de aplicaciones. |
Simultaneidad infinita, --cn=0 (inhabilitado) |
Inhabilitado | La configuración de simultaneidad infinita no recibe soporte en Code Engine. La configuración de simultaneidad infinita reenvía tantas solicitudes como sea posible a una sola instancia de aplicación, lo que puede retrasar el escalado de instancias de aplicación adicionales. |
Determinación de la simultaneidad del contenedor de aplicaciones
El valor de simultaneidad de contenedor óptimo viene determinado por el número máximo de solicitudes simultáneas que la aplicación puede manejar con una latencia de solicitud aceptable.
La simultaneidad de contenedor tiene un impacto directo en la tasa de éxito, en la latencia y en el rendimiento de la aplicación. Cuando el valor de concurrencia del contenedor es demasiado alto para que la aplicación pueda gestionarlo, la
latencia y el rendimiento se ven afectados negativamente, y es posible que aparezcan respuestas de error del tipo « 502 » y « 503 ».
Cuando el valor de simultaneidad de contenedor es demasiado bajo para la aplicación, el sistema escala la aplicación más rápidamente y distribuye la solicitud en varias instancias de aplicación, lo que supone costes y latencia adicionales.
Durante una ráfaga de carga, un valor de simultaneidad baja también puede dar lugar a respuestas temporales de 502 cuando se ejecutan los almacenamientos intermedios internos del sistema.
Para determinar la configuración de simultaneidad de contenedor para la aplicación, examine las solicitudes y la latencia.
-
Cree una aplicación y establezca su simultaneidad en
1000(máx.), ymin-scaleymax-scaleen1.ibmcloud ce application create --name APPNAME --image APPIMAGE --min-scale=1 --max-scale=1 --concurrency=1000 -
Empiece por enviar una alta tasa de solicitudes. Si se producen errores
502, reduzca la tasa hasta que el resultado muestre una tasa de éxito del 100%. -
Puede encontrar la latencia de solicitudes de la salida del paso 2. Si la latencia de solicitudes no es aceptable, disminuya aún más la tasa de solicitudes hasta que la latencia de la solicitudes sea aceptable. Tenga en cuenta que la duración de la solicitud también es importante, ya que hay una gran diferencia entre que el cálculo de la solicitud tarde
2y que tarde100milisegundos.La tasa de solicitudes y la latencia aceptables varían de acuerdo con las características de la aplicación y la configuración de escalado. Por ejemplo, si el cálculo dentro de la aplicación tarda alrededor de 100 ms y el valor de simultaneidad es 10, una instancia de aplicación puede procesar alrededor de 100 solicitudes por segundo con una latencia de aproximadamente 100 ms (ignorando la latencia de red).
-
Para calcular el valor de simultaneidad de contenedor para la aplicación, tome la tasa del paso 2 (en
req/s) y divídala por la latencia del paso 3 (en segundos):CC = RATE/LATENCY. Por ejemplo, si la tasa es de80solicitudes por segundo y la latencia es de2segundos, la simultaneidad resultante es simultaneidad =80 req/s / 2 s = 40. -
Actualice la aplicación para establecer la simultaneidad del contenedor en el valor que ha encontrado en el paso anterior y vuelva a ejecutar la carga de trabajo para comprobar si la tasa de éxito y la latencia son aceptables.
-
Experimente con la aplicación aumentando el valor de simultaneidad del contenedor y observando la tasa de éxito y la latencia.
-
Actualice la aplicación con el valor de simultaneidad de contenedor óptimo y elimine los límites de
min-Scaleymax-scalepara permitir que la aplicación se escale automáticamente.
Observación de cómo se escala la app con la CLI
Puede observar el número de instancias en ejecución de la app con la CLI.
-
Cree una aplicación con el mandato
app create.ibmcloud ce application create --name myapp --image icr.io/codeengine/helloworld -
Llame a la aplicación. Puede obtener el URL de la app de la salida del mandato
app createo puede ejecutaribmcloud ce app get --name myapp --output url.curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud -
Ejecute el mandato
application getpara ver el estado de la aplicación. Busque el valor deRunning instances. En este ejemplo, la app tiene1instancia en ejecución. Por ejemplo:ibmcloud ce application get --name myappSalida de ejemplo
[...] OK Name: myapp [...] URL: https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Status Summary: Application deployed successfully Environment Variables: Type Name Value Literal CE_API_BASE_URL https://api.private.us-south.codeengine.cloud.ibm.com Literal CE_APP myapp Literal CE_DOMAIN us-south.codeengine.appdomain.cloud Literal CE_PROJECT_ID abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Literal CE_REGION us-south Literal CE_SUBDOMAIN abcdabcdab Image: icr.io/codeengine/helloworld Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-ds8fn-1: Age: 6m25s Traffic: 100% Image: icr.io/codeengine/helloworld (pinned to fe0446) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 6m10s Ready true 5m56s RoutesReady true 5m56s Events: Type Reason Age Source Messages Normal Created 6m28s service-controller Created Configuration "myapp" Normal Created 6m28s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-ds8fn-1-deployment-79bdd76749-khtmw myapp-ds8fn-1 2/2 Running 0 32sEspere unos minutos, ya que la app puede tardar unos minutos en reducir sus instancias a cero.
-
Vuelva a ejecutar el mandato
application gety observe que el valor deRunning instancesse ha reducido a cero. Cuando la aplicación maneja menos solicitudes que su simultaneidad de destino configurada, la aplicación escala el número de instancias en ejecución hasta el número mínimo configurado de instancias. En este escenario, el número de instancias en ejecución se escala automáticamente a cero. Cuando la opción--min-scalese establece en0(valor predeterminado), el número de instancias en ejecución se escala automáticamente a cero.Espere unos minutos, ya que la app puede tardar unos minutos en reducir sus instancias a cero.
ibmcloud ce application get -n myappSalida de ejemplo
OK Name: myapp [...] URL: https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Image: icr.io/codeengine/helloworld Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-ds8fn-1: Age: 12m Traffic: 100% Image: icr.io/codeengine/helloworld (pinned to 548d5c) Running Instances: 0 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 3m7s Ready true 2m54s RoutesReady true 2m54s Events: Type Reason Age Source Messages Normal Created 3m21s service-controller Created Configuration "myapp" Normal Created 3m20s service-controller Created Route "myapp" -
Vuelva a llamar a la aplicación para aumentar el número de instancias.
curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud -
Vuelva a ejecutar el mandato
application gety observe que el valor deRunning instancesha aumentado con respecto a cero. Por ejemplo:ibmcloud ce application get -n myappSalida de ejemplo
OK Name: myapp [...] URL: https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Status Summary: Application deployed successfully Environment Variables: Type Name Value Literal CE_API_BASE_URL https://api.private.us-south.codeengine.cloud.ibm.com Literal CE_APP myapp Literal CE_DOMAIN us-south.codeengine.appdomain.cloud Literal CE_PROJECT_ID abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Literal CE_REGION us-south Literal CE_SUBDOMAIN abcdabcdab Image: icr.io/codeengine/helloworld Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-00001: Age: 42s Latest: true Traffic: 100% Image: icr.io/codeengine/helloworld (pinned to 1cee99) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Scale Down Delay: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 25s Ready true 12s RoutesReady true 12s Events: Type Reason Age Source Messages Normal Created 44s service-controller Created Configuration "myapp" Normal Created 43s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-00001-deployment-d59b87654-xkqh7 myapp-00001 3/3 Running 0 43s
Establecimiento del número de instancias mínimas y máximas para la app
Puede cambiar el número de instancias en ejecución de la app actualizando el valor mínimo y máximo para el número de instancias de la app.
El valor predeterminado para el número mínimo de instancias para la aplicación es 0. Si la app no recibe ningún tráfico, se escala a 0 y no se ejecuta ninguna instancia de la app. En esta situación, la aplicación puede
ser más lenta para responder cuando recibe de nuevo el tráfico, mientras se vuelve a escalar. Puedes modificar este comportamiento actualizando tu aplicación y estableciendo la escala mínima en 1, ya sea desde la consola o mediante
la CLI.
El valor predeterminado para el número máximo de instancias de tu aplicación es 10. Para obtener más información, consulte Escalado de límites.
Cambio del rango de escalado automático desde la consola
Para cambiar el rango dentro del cual Code Engine escala automáticamente el número de instancias en ejecución para una app desde la consola, siga estos pasos.
- Vaya a la app.
- Selecciona la pestaña « Configuración ».
- Selecciona la pestaña « Recursos y escalabilidad ».
- Establezca el número de instancias mínimas y máximas para la app.
- (Opcional) Revise y establezca los valores de simultaneidad y temporización de la solicitud para el escalado automático de la app.
- Haz clic en «Implementar» para guardar los cambios e implementar la revisión de la aplicación.
Cuando actualiza la aplicación, la app crea una nueva revisión y direcciona el tráfico a esa instancia.
Cambio del rango de escalado automático con la CLI
Para cambiar el rango dentro del cual Code Engine escala automáticamente el número de instancias en ejecución para una app con la CLI, ejecute el mandato application update con las opciones --min-scale y --max-scale establecidas en el número de instancias que desea para la app. Opcionalmente, puede establecer los valores de simultaneidad y temporización de solicitud para la aplicación.
Estas opciones incluyen --concurrency, --concurrency-target, --request-timeout y --scale-down-delay. Para obtener más información sobre cómo establecer estos valores de escalado automático,
consulte Límites de escalado y Valores de escalado automático para simultaneidad y temporización.
Cuando actualiza la aplicación, la app crea una nueva revisión y direcciona el tráfico a esa instancia.