Configurar el número mínimo de instancias (1.ª gen.)
Puedes evitar los arranques en frío de tu aplicación y reducir la latencia de la aplicación si defines un número mínimo de instancias.
Cloud Run Functions se escala creando nuevas instancias de tu función. Cada una de estas instancias solo puede gestionar una solicitud a la vez, por lo que los picos de gran volumen de solicitudes suelen provocar tiempos de espera más largos, ya que se crean nuevas instancias para gestionar la demanda.
Como las funciones no tienen estado, a veces inicializan el entorno de ejecución desde cero, lo que se denomina arranque en frío. Los arranques en frío pueden tardar mucho tiempo en completarse, por lo que te recomendamos que definas un número mínimo de instancias de Cloud Run Functions si tu aplicación es sensible a la latencia.
Instancias inactivas y arranques en frío
Para minimizar el impacto de los arranque en frío, las funciones de Cloud Run intentan mantener las instancias de función inactivas durante un periodo de tiempo no especificado después de gestionar una solicitud. Durante este tiempo de inactividad, los recursos, como las conexiones de bases de datos abiertas, pueden conservarse por si es necesario gestionar otra solicitud. Las instancias que se mantienen inactivas de esta forma se tienen en cuenta para el límite máximo de instancias de tu función, pero no se te cobra por este tiempo de inactividad.
Es posible que este comportamiento integrado no sea suficiente para tu aplicación, sobre todo si es sensible a la latencia. Si defines explícitamente un número mínimo de instancias, puedes evitar los arranques en frío y reducir la latencia de las aplicaciones.
Ten en cuenta que, cuando las instancias se mantienen inactivas porque se ha definido un número mínimo de instancias, no se consideran activas a menos que hayan atendido tráfico recientemente. Por ejemplo, si una función no ha servido tráfico recientemente, es posible que la métrica "Instancias activas" muestre que no hay ninguna instancia activa, aunque se haya definido un valor para las instancias mínimas.
Ten en cuenta también que, cuando defines un número mínimo de instancias, se te cobra por el tiempo de inactividad de esas instancias. Consulta la sección Precios.
Definir y borrar límites de instancias mínimas
Puedes definir un número mínimo de instancias para una función durante la implementación. Cada función tiene su propio ajuste de instancias mínimas.
Definir límites mínimos de instancias
Puedes definir un límite mínimo de instancias mediante la CLI de Google Cloud o la consola de Google Cloud .
Consola
Para definir un límite mínimo de instancias para una función nueva, sigue estos pasos:
Para crear una función, ve a la página Funciones de Cloud Run de laGoogle Cloud consola:
Ve a la página Funciones de Cloud RunHaz clic en Crear función.
Rellena los campos obligatorios de la función.
Abre la sección Tiempo de ejecución, compilación..., situada al final de la página, y haz clic en la pestaña Tiempo de ejecución.
En el campo Número mínimo de instancias de la sección Autoescalado, introduce un número igual o superior a 1.
Haz clic en Siguiente.
Haz clic en Desplegar.
Para definir un límite mínimo de instancias para una función:
Ve a la página de funciones de Cloud Run en la Google Cloud consola:
Ir a la página de funciones de Cloud RunHaga clic en el nombre de una función para ir a su página Detalles de la función.
Haz clic en Editar.
Abre la sección Tiempo de ejecución, compilación..., situada al final de la página, y haz clic en la pestaña Tiempo de ejecución.
En el campo Número mínimo de instancias de la sección Autoescalado, introduce un número igual o superior a 1.
Haz clic en Siguiente.
Haz clic en Desplegar.
gcloud
Para definir un límite mínimo de instancias, ejecuta el siguiente comando:
gcloud functions deploy FUNCTION_NAME \
--no-gen2 \
--min-instances MIN_INSTANCE_LIMIT
Haz los cambios siguientes:
FUNCTION_NAME: el nombre de tu función.
MIN_INSTANCE_LIMIT: número que se va a definir como límite mínimo de instancias. No puede superar las 1000.
Se ha definido el límite mínimo de instancias de la función.
Borrar los límites mínimos de instancias
Puedes borrar o quitar un límite mínimo de instancias mediante la CLI de Google Cloud o la Google Cloud consola.
Consola
Para borrar el límite mínimo de instancias de una función, sigue estos pasos:
Ve a la página de funciones de Cloud Run en laGoogle Cloud consola:
Ir a la página de funciones de Cloud RunHaga clic en el nombre de una función para ir a su página Detalles de la función.
Haz clic en Editar.
Abre la sección Tiempo de ejecución, compilación..., situada al final de la página, y haz clic en la pestaña Tiempo de ejecución.
En el campo Número mínimo de instancias de la sección Autoescalado, introduce 0.
Haz clic en Siguiente.
Haz clic en Desplegar.
gcloud
Usa la marca --clear-min-instances
en el momento de la implementación:
gcloud functions deploy FUNCTION_NAME --clear-min-instances
Se ha superado el límite mínimo de instancias de la función.
Recibir recomendaciones para definir instancias mínimas
El servicio Recommender proporciona automáticamente recomendaciones para las funciones implementadas que podrían beneficiarse de tener un número mínimo de instancias.