Para los servicios de Cloud Run, la escala cada revisión se ajusta de forma automática a la cantidad de instancias necesarias para controlar todas las solicitudes entrantes.
Cuando hay más instancias que procesan solicitudes, se genera un uso mayor de CPU y memoria, lo que genera costos más altos.
Para darte más control, Cloud Run proporciona una configuración máxima de solicitudes simultáneas por instancia que especifica la cantidad máxima de solicitudes que una instancia puede procesar simultáneamente.
Cantidad máxima de solicitudes simultáneas por instancia
Puedes configurar la cantidad máxima de solicitudes simultáneas por instancia. De forma predeterminada, cada instancia de Cloud Run puede recibir hasta 80 solicitudes al mismo tiempo. Puedes aumentar esto a un máximo de 1000.
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 un máximo y es posible que Cloud Run no envíe tantas solicitudes a una instancia determinada si la CPU de la instancia ya tiene un uso alto.
En el siguiente diagrama, se muestra cómo la configuración máxima de solicitudes simultáneas por instancia afecta la cantidad de instancias necesarias para manejar las solicitudes simultáneas entrantes:
Cuándo limitar la simultaneidad máxima a una solicitud a la vez
Puedes limitar la simultaneidad para que solo se envíe una solicitud a la vez a cada instancia 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 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 práctico en el que 400 clientes realizan 3 solicitudes por segundo a un servicio de Cloud Run configurado en un máximo de solicitudes simultáneas por instancia 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 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 configurado en un máximo de solicitudes simultáneas por instancia 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 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 cantidad máxima de solicitudes simultáneas por instancia de tus servicios de Cloud Run, consulta Configura solicitudes simultáneas máximas por instancia.
Si deseas optimizar la cantidad máxima de solicitudes simultáneas por configuración de instancia, consulta las sugerencias de desarrollo para ajustar la simultaneidad.