Quotas et limites

Ce document répertorie les quotas et limites système qui s'appliquent aux workflows.

  • Les quotas spécifient la quantité d'une ressource partagée dénombrable que vous pouvez utiliser. Les quotas sont définis par des services Google Cloud tels que Workflows.
  • Les limites système sont des valeurs fixes qui ne peuvent pas être modifiées.

Google Cloud utilise des quotas pour garantir l'équité et réduire les pics d'utilisation et de disponibilité des ressources. Un quota limite la quantité de ressources Google Cloud que votre projet Google Cloud peut utiliser. Les quotas s'appliquent à différents types de ressources, y compris les composants matériels, logiciels et réseau. Par exemple, les quotas peuvent limiter le nombre d'appels d'API à un service, le nombre d'équilibreurs de charge utilisés simultanément par votre projet ou le nombre de projets que vous pouvez créer. Les quotas protègent la communauté des utilisateurs de Google Cloud en empêchant la surcharge des services. Les quotas vous aident également à gérer vos propres ressources Google Cloud.

Le système Cloud Quotas effectue les opérations suivantes :

  • Surveille votre consommation de produits et services Google Cloud
  • Limite votre consommation de ces ressources
  • Permet de demander des modifications de la valeur du quota

Dans la plupart des cas, lorsque vous tentez d'utiliser plus d'une ressource que son quota ne le permet, le système bloque l'accès à la ressource et la tâche que vous essayez d'effectuer échoue.

Les quotas s'appliquent généralement au niveau du projet Google Cloud. Votre utilisation d'une ressource dans un projet n'affecte pas votre quota disponible dans un autre projet. Dans un projet Google Cloud, les quotas sont partagés entre toutes les applications et adresses IP.

Des limites système s'appliquent également aux ressources Workflows. Les limites système ne peuvent pas être modifiées.

Quotas

Les workflows appliquent les quotas suivants à chaque projet Google Cloud. Vous pouvez augmenter ou diminuer ces quotas:

Quota Description Valeur
Nombre total de workflows Nombre maximal de workflows que vous pouvez déployer par projet 10 000
Exécutions simultanées

Nombre maximal d'exécutions de workflows actives par région et par projet. Les exécutions simultanées sont des exécutions qui ont commencé et qui ne sont pas encore terminées ou échouées, y compris celles qui attendent des rappels ou qui sont en veille.

Une fois le quota atteint et la mise en file d'attente d'exécution activée par défaut (à quelques exceptions près), les exécutions sont créées avec l'état QUEUED. Si le report d'exécution est désactivé ou si le quota de report d'exécution est atteint, toutes les nouvelles exécutions échouent avec un code d'état HTTP 429 Too many requests. Pour en savoir plus, consultez la section Gérer le report d'exécution.

10 000
Exécutions en attente Nombre maximal d'exécutions de workflows en attente par région et par projet.

Pour en savoir plus, consultez la section Gérer le report des exécutions.

100 000
Requêtes API Workflow Nombre maximal de requêtes API (create, update, list, get et delete) de tous les workflows de votre projet (par minute et par emplacement) 1,200
Requêtes Get API Execution Nombre maximal de requêtes d'exécution de workflow get à partir de tous les workflows de votre projet (par minute et par emplacement) 6 000
Requêtes List API Execution Nombre maximal de requêtes d'exécution de workflow list à partir de tous les workflows de votre projet (par minute et par emplacement) 1,200
Requêtes d'écriture API Execution Nombre maximal de requêtes pour les exécutions de workflow create et cancel (y compris les exécutions déclenchées par Eventarc) à partir de tous les workflows de votre projet (par minute et par emplacement).

Si les exécutions déclenchées par Eventarc dépassent ce maximum, les événements sont réessayés conformément à la stratégie de nouvelle tentative pour les événements Eventarc.

6 000
Requêtes Get step entries API Execution Nombre maximal de requêtes à envoyer à get pour une entrée d'étape à partir d'une exécution de workflow (par minute et par emplacement) 6 000
Requêtes de liste des entrées d'étapes de l'API Execution Nombre maximal de requêtes d'entrées d'étape list à partir d'une exécution de workflow (par minute et par emplacement) 1,200
Requêtes d'exportation de données de l'API Execution Nombre maximal de requêtes envoyées à export data à partir d'une exécution de workflow (par minute et par emplacement) 10
Requêtes HTTP envoyées aux points de terminaison de rappel Nombre maximal de requêtes API SendHttpCallback effectuées sur les ressources d'exécution à partir de tous les workflows de votre projet (par minute et par emplacement) 1 500
Requêtes de rappel de liste de l'API Execution Nombre maximal de requêtes aux rappels list à partir d'une exécution de workflow (par minute et par emplacement) 300

Demandes d'augmentation de quota

Pour augmenter ou diminuer les quotas, utilisez la console Google Cloud. Pour en savoir plus, consultez la section Demander une augmentation de quota.

Surveiller l'utilisation des quotas

Vous pouvez interroger et surveiller les métriques d'utilisation des quotas. Pour obtenir un exemple, consultez la section Surveiller les métriques de quota, qui explique comment interroger le quota d'allocation total consommé pour les workflows. Pour plus d'informations sur la surveillance des métriques d'utilisation des quotas, consultez la page Représenter graphiquement et surveiller les métriques de quota.

Limites d'étapes

Workflows applique les limites suivantes à chaque workflow. Vous ne pouvez pas demander de modification de ces limites:

Limite Description Valeur
Devoirs par étape Nombre maximal d'attributions pouvant être effectuées en une seule étape 50
Conditions par bloc de commutation Nombre maximal de conditions pouvant être évaluées en un seul bloc de commutation 50
Profondeur maximale de la pile d'appels Nombre maximal de niveaux d'appel de fonctions, par exemple lorsqu'un sous-workflow s'appelle lui-même ou un autre sous-workflow, ou des appels de fonction de bibliothèque standard qui à leur tour appellent d'autres fonctions 20
Étapes minimales Nombre minimal d'étapes dans un workflow 1
Nombre maximal de pas Nombre maximal d'étapes pouvant être effectuées en une seule exécution de workflow 100 000

Limites d'étapes parallèles

Les workflows appliquent les limites suivantes lorsque vous utilisez des étapes parallèles. Vous ne pouvez pas demander de modification de ces limites:

Limite Description Valeur
Branches par étape Nombre maximal de branches compatibles dans une étape parallèle 10
Profondeur parallèle Profondeur maximale à laquelle les étapes parallèles peuvent être imbriquées 2
Branches et itérations simultanées

Nombre maximal de branches et d'itérations pouvant s'exécuter simultanément dans une seule exécution de workflow avant que d'autres branches et itérations ne soient automatiquement mises en file d'attente en attendant la fin d'un ou de plusieurs threads en cours d'exécution.

Il n'existe aucune limite de nombre total de threads. Toutefois, toutes les autres limites s'appliquent.

20
Exceptions non détectées dans une étape parallèle Nombre maximal d'exceptions non gérées pouvant être générées lors de l'exécution du workflow (au total) 100

Limites de ressources

Les workflows appliquent les limites d'utilisation suivantes. Vous ne pouvez pas demander de modifications pour ces limites:

Limite Description Valeur
Taille du code source Taille maximale du fichier YAML ou JSON qui définit votre workflow 128 Ko
Taille d'une réponse Taille maximale d'une réponse HTTP (si elle est enregistrée dans une variable, la limite de mémoire pour les variables s'applique) 2 Mo
Longueur de l'expression Nombre maximal de caractères dans une seule expression 400 caractères
Taille des données Taille cumulative maximale pour les variables, les arguments et les événements: 512 Ko
  • Quantité de mémoire maximale disponible pour toutes les variables que vous définissez pour une seule exécution d'un workflow donné
  • Taille maximale des arguments que vous pouvez transmettre lors de la création d'une exécution de workflow
  • Taille maximale de la charge utile Eventarc que vous pouvez transmettre lors du déclenchement d'une exécution de workflow avec des événements
Longueur maximale de la chaîne en octets avec l'encodage UTF-8 256 ko
Variables d'environnement Taille maximale d'une chaîne de définition d'une variable d'environnement définie par l'utilisateur (KEY=value) ; vous pouvez définir 20 variables au maximum. 4 Kio
Durée de l'exécution Durée maximale (de l'heure de début à l'heure de fin) d'exécution d'un workflow ; tout workflow dépassant cette limite se terminera par une erreur de délai expiré 1 an
Conservation des exécutions Durée de conservation maximale (après la fin d'une exécution de workflow) de l'historique et des résultats d'une exécution 90 jours
Fenêtre de déduplication Fenêtre de déduplication pour garantir un traitement de type "exactement une fois" lors du déclenchement d'une exécution de workflow avec des événements 24 heures