Configurer les limites de processeur pour les instances

Cette page explique comment spécifier le nombre de processeurs virtuels à allouer à chaque instance Cloud Run. Par défaut, les instances de conteneur Cloud Run sont limitées à deux processeurs virtuels. Vous pouvez augmenter ou diminuer cette valeur comme décrit sur cette page.

Définir et mettre à jour les limites de processeurs virtuels

Par défaut, chaque instance est configurée avec deux processeurs virtuels et 2 Gio de mémoire. Vous pouvez modifier cette configuration en choisissant l'une des valeurs indiquées dans le tableau suivant.

La simultanéité n'est pas configurable. Elle est définie sur 80.

Tableau des processeurs virtuels et de la mémoire

Voici les exigences de mémoire pour les processeurs virtuels :

Processeurs Mémoire requise
1 processeur virtuel 512 Mio à 4 Gio
2 processeurs virtuels 512 Mio à 8 Gio
4 processeurs virtuels 2 à 16 Gio
6 processeurs virtuels 4 à 24 Gio
8 processeurs virtuels 4 à 32 Gio

Les valeurs supérieures à 1 doivent être des entiers.

Nombre maximal de processeurs virtuels

Le nombre maximal de processeurs virtuels que vous pouvez configurer est de huit.

Nombre minimal de processeurs virtuels

Le nombre minimal de processeurs virtuels pour l'instance est de un. Bien que chaque conteneur puisse être configuré avec des processeurs fractionnaires, la somme de tous les conteneurs de l'instance doit être supérieure ou égale à un processeur virtuel.

Considérations liées au coût

Le coût de votre ressource Cloud Run est affecté par sa configuration de processeur et la durée pendant laquelle votre ressource est active, entre autres facteurs. Le surprovisionnement de vos ressources peut augmenter vos coûts. Pour déterminer la configuration de processeur la plus adaptée à votre ressource :

  1. Établissez une configuration de référence initiale pour une limite de processeur qui équilibre l'utilisation et les coûts du processeur.
  2. Surveillez vos métriques d'utilisation du processeur dans Cloud Monitoring tout en testant le système sous charge.
  3. Ajustez la configuration de votre processeur si nécessaire.

Si l'utilisation du processeur est toujours faible en cas de charge maximale, envisagez de réduire l'allocation de processeurs virtuels. Si la latence est élevée, envisagez d'augmenter l'allocation de processeurs virtuels.

Vous pouvez afficher des données récapitulatives sur les coûts, des données d'utilisation et des recommandations d'optimisation des coûts pour les ressources sur la page d'optimisation de Cloud Hub. Pour en savoir plus, consultez les tarifs Cloud Run ou estimez les coûts à l'aide du simulateur de coût.

CPU Burst et limitation

Les instances Cloud Run utilisent un modèle d'allocation de processeur partagé avec des quotas de base et une capacité de burst, gérés de la même manière que l'allocation cgroup du planificateur Linux.

Lorsque vous configurez des limites de processeurs virtuels pour une instance Cloud Run, le comportement du processeur comprend les mécanismes suivants :

  • Quota de base : chaque instance reçoit une base continue de 6,25% (1/16e) par processeur virtuel configuré. Vous pouvez exécuter votre instance dans cette base indéfiniment.
  • Capacité de burst : lorsque votre instance fonctionne en dessous de sa capacité de base, elle accumule en continu le temps CPU inutilisé dans un budget de burst (jusqu'à 500 secondes). Lorsque votre charge de travail déclenche des tâches gourmandes en calcul, l'instance passe automatiquement à 100% de son allocation de processeurs virtuels configurée jusqu'à ce que son budget de burst accumulé soit épuisé.
  • Limitation : une fois le budget de burst épuisé lors d'une utilisation élevée du processeur, l'instance est limitée à son quota de base (6,25% par processeur virtuel configuré) jusqu'à ce qu'un budget de burst supplémentaire soit accumulé.
  • Réapprovisionnement : le budget de burst est réapprovisionné chaque fois que l'utilisation du processeur passe en dessous de la base de 6,25 %.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer et déployer des instances Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre instance Cloud Run communique avec Google Cloud des API, telles que les bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.

Configurer les limites de processeur

Vous pouvez définir des limites de processeur pour une instance Cloud Run à l'aide de Google Cloud CLI ou de YAML :

gcloud

Vous pouvez mettre à jour les limites de processeur d'une instance donnée à l'aide de la commande suivante :

gcloud beta run instances update INSTANCE --cpu CPU

Remplacez les éléments suivants :

  • INSTANCE : nom de l'instance.
  • CPU : limite de processeur. Spécifiez la valeur 1, 2, 4, 6, ou 8 pour le nombre de processeurs, en respectant les exigences indiquées dans le tableau des processeurs et de la mémoire.

Vous pouvez également définir l'allocation de processeurs lors du déploiement en utilisant la commande suivante :

gcloud beta run instances deploy --image IMAGE_URL --cpu CPU

Remplacez les éléments suivants :

  • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
  • CPU : valeur 1, 2, 4, 6 ou 8 pour le nombre de processeurs, en respectant les exigences indiquées dans le tableau des processeurs et de la mémoire.

YAML

  1. Si vous créez une instance, ignorez cette étape. Si vous mettez à jour une instance existante, téléchargez sa configuration YAML :

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. L'exemple suivant contient la configuration YAML :

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
    image: IMAGE_URL
      resources:
        limits:
          cpu: `CPU`

    Remplacez les éléments suivants :

    • INSTANCE : nom de votre instance Cloud Run.
    • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
    • CPU : valeur limite du processeur. Spécifiez une valeur de 1, 2, 4, 6 ou 8 pour le nombre de processeurs, ou, pour un nombre de processeurs inférieur à 1, spécifiez une valeur comprise entre 0,08 et 1,00, par incréments de 0,01. (Consultez le tableau de la section Définir et mettre à jour des limites de processeur pour connaître les paramètres requis.)
  3. Créez ou mettez à jour l'instance à l'aide de la commande suivante :

    gcloud beta run instances replace instance.yaml

Exemple de scénario : instance à deux processeurs virtuels

Si une instance est configurée avec une limite de deux processeurs virtuels :

  1. Opération de base : l'instance peut s'exécuter en consommant jusqu'à 0,125 processeur virtuel (6,25% de deux processeurs virtuels). Lorsqu'elle fonctionne en dessous de cette base, elle accumule un budget de burst.
  2. Burst complet : lorsque la charge de travail nécessite une puissance de traitement supplémentaire, l'instance passe à deux processeurs virtuels (100% d'utilisation), consommant ainsi son budget de burst accumulé.
  3. Limitation : lorsque le budget de burst est épuisé, l'instance est limitée à la base de 0,125 processeur virtuel jusqu'à ce qu'elle accumule un nouveau budget de burst.

Afficher la configuration du processeur pour l'instance

Vous pouvez utiliser la commande Google Cloud CLI gcloud beta run instances describe pour afficher les détails de configuration.