Configura la cantidad mínima de instancias (1ª gen.)

Puedes evitar los inicios en frío para tu aplicación y reducir la latencia de esta si configuras una cantidad mínima de instancias.

Las funciones de Cloud Run escalan mediante la creación de instancias nuevas de tu función. Cada una de estas instancias solo puede manejar una solicitud a la vez, por lo que los picos grandes en el volumen de solicitudes a menudo causan tiempos de espera más largos a medida que se crean instancias nuevas para controlar la demanda.

Debido a que las funciones no tienen estado, a veces tu función inicializa el entorno de ejecución desde cero, lo que se denomina inicio en frío. Los inicios en frío pueden tardar bastante tiempo en completarse, por lo que recomendamos configurar una cantidad mínima de instancias de funciones de Cloud Run si tu aplicación es sensible a la latencia.

Instancias inactivas e inicios en frío

Para minimizar el impacto de los inicios en frío, las funciones de Cloud Run intentan mantener las instancias de función inactivas durante un período no especificado después de controlar una solicitud. Durante este tiempo de inactividad, es posible que se conserven los recursos, como las conexiones de bases de datos abiertas, en caso de que se deba procesar otra solicitud. Las instancias que se mantienen inactivas de esta manera se consideran en el límite máximo de instancias para la función, pero no se te cobra por este tiempo.

Es posible que este comportamiento integrado no sea suficiente para tu aplicación, en especial si es sensible a la latencia. Configurar de manera explícita una cantidad mínima de instancias puede ayudarte a evitar inicios en frío y reducir la latencia de la aplicación.

Ten en cuenta que, cuando las instancias se mantienen inactivas porque se configuró una cantidad mínima de instancias, estas no se consideran activas, a menos que hayan publicado tráfico recientemente. Por ejemplo, esto significa que si una función no entregó tráfico recientemente, la métrica “Instancias activas” puede no mostrar ninguna instancia activa, incluso si se estableció un valor para la cantidad mínima de instancias.

Ten en cuenta que cuando configuras un número mínimo de instancias, se factura el tiempo de inactividad de esas instancias; consulta Precios.

Establece y borra los límites mínimos de instancias

Puedes establecer una cantidad minima de instancias para una función durante la implementación. Cada función tiene su propia configuración de instancia mínima

Configura los límites mínimos de instancias

Puedes establecer un límite mínimo de instancias con Google Cloud CLI o la consola de Google Cloud.

Console

A fin de establecer el límite mínimo de instancias para una nueva función, haz lo siguiente:

  1. Para crear una función nueva, ve a la página de funciones de Cloud Run en Google Cloud Console:
    Ir a la página de funciones de Cloud Run

  2. Haz clic en Crear función.

  3. Completa los campos obligatorios de la función.

  4. Expande la sección Entorno de ejecución, compilación... al final de la página y haz clic en la pestaña Entorno de ejecución.

  5. En el campo Cantidad mínima de instancias, en la sección Ajuste de escala automático, ingresa un número mayor o igual que 1.

  6. Haz clic en Siguiente.

  7. Haz clic en Implementar.

A fin de establecer un límite mínimo de instancias para una función existente, haz lo siguiente:

  1. Ve a la página de funciones de Cloud Run en la consola de Google Cloud:
    Ir a la página de funciones de Cloud Run

  2. Haz clic en el nombre de una función existente para ir a la página Detalles de la función.

  3. Haz clic en Editar.

  4. Expande la sección Entorno de ejecución, compilación... al final de la página y haz clic en la pestaña Entorno de ejecución.

  5. En el campo Cantidad mínima de instancias, en la sección Ajuste de escala automático, ingresa un número mayor o igual que 1.

  6. Haz clic en Siguiente.

  7. Haz clic en Implementar.

gcloud

Para establecer un límite mínimo de instancias, ejecuta el siguiente comando:

gcloud functions deploy FUNCTION_NAME \
--no-gen2 \
--min-instances MIN_INSTANCE_LIMIT

Reemplaza lo siguiente:

  • FUNCTION_NAME: es el nombre de la función.

  • MIN_INSTANCE_LIMIT: el número que se establecerá como el límite mínimo de la instancia, no puede exceder los 1,000.

Se establece el límite mínimo de instancias de la función.

Borra los límites mínimos de instancias

Puedes borrar o quitar un límite mínimo de instancias con Google Cloud CLI o la consola de Google Cloud.

Console

Para borrar el límite mínimo de instancias de una función, haz lo siguiente:

  1. Ve a la página de funciones de Cloud Run en Google Cloud Console:
    Ir a la página de funciones de Cloud Run

  2. Haz clic en el nombre de una función existente para ir a la página Detalles de la función.

  3. Haz clic en Editar.

  4. Expande la sección Entorno de ejecución, compilación... al final de la página y haz clic en la pestaña Entorno de ejecución.

  5. En el campo Cantidad mínima de instancias, en la sección Ajuste de escala automático, ingresa 0.

  6. Haz clic en Siguiente.

  7. Haz clic en Implementar.

gcloud

Usa la marca --clear-min-instances en el momento de la implementación:

gcloud functions deploy FUNCTION_NAME --clear-min-instances

Se borra el límite mínimo de instancias de la función.

Obtén recomendaciones para establecer instancias mínimas

El servicio de recomendador proporciona de forma automática recomendaciones para las funciones implementadas que podrían beneficiarse de tener establecidas instancias mínimas.