En Cloud Run for Anthos, cada revisión se escala de forma automática a la cantidad de instancias de contenedor necesarias para controlar todas las solicitudes entrantes.
Cuando hay más instancias de contenedor que procesan solicitudes, se genera un uso mayor de CPU y memoria, lo que genera costos más altos. Cuando se deben iniciar nuevas instancias de contenedor, es posible que las solicitudes tomen más tiempo en procesarse, lo que disminuye el rendimiento del servicio.
Para tener más control, Cloud Run for Anthos proporciona una configuración de simultaneidad que especifica la cantidad máxima de solicitudes que una instancia de contenedor determinada puede procesar de forma simultánea.
Valores de simultaneidad
De forma predeterminada, las instancias de contenedor de Cloud Run for Anthos pueden recibir muchas solicitudes al mismo tiempo (hasta 80 como máximo). Ten en cuenta que, en comparación, las soluciones de funciones como servicio (FaaS), como Cloud Functions, tienen una simultaneidad fija de 1.
Aunque debes usar el valor de simultaneidad predeterminado, puedes disminuir la simultaneidad máxima. Por ejemplo, si tu código no puede procesar solicitudes paralelas, configura la simultaneidad en 1
.
El valor de simultaneidad especificado es el máximo, y es posible que Cloud Run for Anthos no envíe tantas solicitudes a una determinada instancia de contenedor si la CPU de la instancia ya se usa mucho.
En el siguiente diagrama, se muestra cómo la configuración de simultaneidad afecta la cantidad de instancias de contenedor necesarias para controlar las solicitudes simultáneas entrantes:
Cuándo limitar la simultaneidad a una solicitud a la vez
Puedes limitar la simultaneidad para que solo se envíe una solicitud a la vez a cada instancia de contenedor en ejecución. Debes considerar hacer esto en los siguientes casos:
- Cada solicitud usa la mayor parte de la CPU o memoria disponible.
- Tu imagen de contenedor no está diseñada para controlar varias solicitudes a la vez; por ejemplo, cuando tu contenedor depende del estado global que dos solicitudes no pueden compartir.
Ten en cuenta que es probable que una simultaneidad de 1
afecte de forma negativa el rendimiento del escalamiento, ya que muchas instancias de contenedor tendrán que iniciarse a fin de controlar un aumento en las solicitudes entrantes.
Caso de éxito
En las siguientes métricas, se muestra un caso de uso en el que 400 clientes realizan 3 solicitudes por segundo a un servicio de Cloud Run for Anthos que está configurado con una simultaneidad máxima de 1. La línea superior verde muestra las solicitudes a lo largo del tiempo y la línea inferior azul muestra la cantidad de instancias de contenedor que se iniciaron para controlar las solicitudes.
En las siguientes métricas, se muestran a 400 clientes que realizan 3 solicitudes por segundo a un servicio de Cloud Run for Anthos que está configurado con una simultaneidad máxima de 80. La línea superior verde muestra las solicitudes a lo largo del tiempo y la línea inferior azul muestra la cantidad de instancias de contenedor que se iniciaron para controlar las solicitudes. Ten en cuenta que se necesitan muchas menos instancias para controlar el mismo volumen de solicitudes.
¿Qué sigue?
Para administrar la simultaneidad de los servicios de Cloud Run for Anthos, consulta Configura la simultaneidad.
Si deseas optimizar la configuración de simultaneidad, consulta las sugerencias de desarrollo para ajustar la simultaneidad.