Configurer le nombre minimal d'instances (1re génération)

Vous pouvez éviter les démarrages à froid de votre application et en réduire la latence en définissant un nombre minimal d'instances.

Dans Cloud Run Functions, le scaling s'effectue par la création d'instances de votre fonction. Comme chacune de ces instances ne peut traiter qu'une requête à la fois, des pics de requêtes importants entraînent souvent des temps d'attente plus longs à mesure que des instances sont créées pour gérer la demande.

Les fonctions étant sans état, elles initialisent parfois l'environnement d'exécution à partir de zéro : c'est ce que l'on appelle un démarrage à froid. Les démarrages à froid peuvent prendre beaucoup de temps. Par conséquent, si votre application est sensible à la latence, nous vous recommandons de définir un nombre minimal d'instances Cloud Run Functions.

Instances inactives et démarrages à froid

Pour minimiser l'impact des démarrages à froid, Cloud Run Functions tente de maintenir les instances de fonction inactives pendant une durée non spécifiée après le traitement d'une requête. Pendant cette période d'inactivité, les ressources telles que les connexions de base de données ouvertes peuvent être conservées au cas où une autre requête devrait être traitée. Les instances qui sont maintenues inactives de cette manière sont comptabilisées dans la limite maximale d'instances définie pour votre fonction, mais ce temps d'inactivité ne vous est pas facturé.

Ce comportement intégré peut être insuffisant pour votre application, en particulier si elle est sensible à la latence. Définir explicitement un nombre minimal d'instances peut vous aider à éviter les démarrages à froid et à réduire la latence de l'application.

Notez que lorsque des instances restent inactives parce qu'un nombre minimal d'instances a été défini, elles ne sont pas considérées comme actives, sauf si elles ont diffusé du trafic récemment. Cela signifie par exemple que si une fonction n'a pas diffusé de trafic récemment, la métrique "Instances actives" peut indiquer qu'aucune instance n'est active, même si un nombre minimal d'instances a été défini.

Notez également que lorsque vous définissez un nombre minimal d'instances, le temps d'inactivité de ces instances vous est facturé. Consultez la page Tarifs.

Définir et supprimer des limites minimales d'instances

Vous pouvez définir un nombre minimal d'instances pour une fonction lors du déploiement. Chaque fonction possède son propre paramètre de nombre minimal d'instances.

Définir des limites minimales d'instances

Vous pouvez définir une limite minimale d'instances à l'aide de la Google Cloud CLI ou de la console Google Cloud .

Console

Pour définir une limite minimale d'instances pour une nouvelle fonction :

  1. Pour créer une fonction, accédez à la page Cloud Run Functions dans la consoleGoogle Cloud  :
    Accéder à la page Cloud Run Functions

  2. Cliquez sur Créer une fonction.

  3. Renseignez les champs obligatoires de votre fonction.

  4. Développez la section Paramètres d'exécution, de compilation... à la fin de la page, puis cliquez sur l'onglet Environnement d'exécution.

  5. Dans le champ Nombre minimal d'instances de la section Autoscaling, saisissez un nombre supérieur ou égal à 1.

  6. Cliquez sur Suivant.

  7. Cliquez sur Déployer.

Pour définir une limite minimale d'instances pour une fonction existante :

  1. Accédez à la page Cloud Run Functions dans la console Google Cloud  :
    Accéder à la page Cloud Run Functions

  2. Cliquez sur le nom d'une fonction existante pour accéder à la page Informations sur la fonction correspondante.

  3. Cliquez sur Modifier.

  4. Développez la section Paramètres d'exécution, de compilation... à la fin de la page, puis cliquez sur l'onglet Environnement d'exécution.

  5. Dans le champ Nombre minimal d'instances de la section Autoscaling, saisissez un nombre supérieur ou égal à 1.

  6. Cliquez sur Suivant.

  7. Cliquez sur Déployer.

gcloud

Pour définir une limite minimale d'instances, exécutez la commande suivante :

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

Remplacez les éléments suivants :

  • FUNCTION_NAME : nom de votre fonction.

  • MIN_INSTANCE_LIMIT : nombre à définir comme limite minimale d'instances. Ne peut pas dépasser 1 000.

La limite minimale d'instances de la fonction est définie.

Supprimer des limites minimales d'instances

Vous pouvez supprimer ou retirer une limite minimale d'instances à l'aide de la Google Cloud CLI ou de la console Google Cloud .

Console

Pour supprimer la limite minimale d'instances d'une fonction :

  1. Accédez à la page Cloud Run Functions dans la consoleGoogle Cloud  :
    Accéder à la page Cloud Run Functions

  2. Cliquez sur le nom d'une fonction existante pour accéder à la page Informations sur la fonction correspondante.

  3. Cliquez sur Modifier.

  4. Développez la section Paramètres d'exécution, de compilation... à la fin de la page, puis cliquez sur l'onglet Environnement d'exécution.

  5. Dans le champ Nombre minimal d'instances de la section Autoscaling, saisissez 0.

  6. Cliquez sur Suivant.

  7. Cliquez sur Déployer.

gcloud

Utilisez le flag --clear-min-instances au moment du déploiement :

gcloud functions deploy FUNCTION_NAME --clear-min-instances

La limite minimale d'instances de la fonction est supprimée.

Obtenir des recommandations pour définir un nombre minimal d'instances

L'outil de recommandation fournit automatiquement des recommandations pour les fonctions déployées qui pourraient bénéficier d'un nombre minimal d'instances défini.