Quotas et limites

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

  • 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 Dataflow.
  • 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.

Vous allez utiliser la console Google Cloud pour ajuster la plupart des quotas. Pour en savoir plus, consultez la section Demander un ajustement de quota.

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

Le service géré Dataflow est soumis aux quotas et limites suivants :

  • Chaque projet Google Cloud peut générer jusqu'à 3 000 000 de requêtes par minute.
  • Chaque job Dataflow peut utiliser au maximum 2 000 instances Compute Engine. Sans spécifier de zone de nœuds de calcul, chaque job en flux continu utilisantStreaming Engine ou chaque job par lot utilisant Dataflow Shuffle basé sur les services peut utiliser au maximum 4 000 instances Compute Engine.
  • Chaque projet Google Cloud peut exécuter au maximum 25 tâches Dataflow simultanées par défaut.
  • Chaque nœud de calcul Dataflow dispose d'une limite maximale de journaux qu'il peut générer sur un intervalle de temps. Consultez la documentation de Logging pour connaître la limite exacte.
  • Si vous choisissez d'utiliser les quotas d'organisation, chaque organisation peut exécuter au maximum 125 tâches Dataflow simultanées par défaut.
  • Chaque utilisateur peut générer jusqu'à 15 000 requêtes de surveillance par minute.
  • Chaque utilisateur peut générer jusqu'à 60 requêtes de création de tâche par minute.
  • Chaque utilisateur peut générer jusqu'à 60 requêtes de modèle de tâche par minute.
  • Chaque utilisateur peut envoyer jusqu'à 60 requêtes de mise à jour de tâches par minute.
  • Voici le nombre d'emplacements de brassage dont dispose chaque projet Google Cloud dans les différentes régions :
    • asia-east1 : 48 emplacements
    • asia-northeast1 : 24 emplacements
    • asia-northeast3 : 32 emplacements
    • asia-south1 : 64 emplacements
    • asia-southeast1 : 64 emplacements
    • australia-southeast1 : 24 emplacements
    • europe-west1 : 640 emplacements
    • europe-west2 : 32 emplacements
    • europe-west3 : 40 emplacements
    • europe-west4 : 512 emplacements
    • northamerica-northeast1 : 512 emplacements
    • us-central1 : 640 emplacements
    • us-east1 : 640 emplacements
    • us-east4 : 64 emplacements
    • us-west1 : 384 emplacements
    • us-west2 : 24 emplacements
    • us-west3 : 24 emplacements
    • Autres régions : 16 emplacements
    16 emplacements permettent le brassage simultané d'environ 10 To de données.
  • Les jobs par lot Dataflow seront annulés au bout de 10 jours.

Quotas de Compute Engine

Lorsque vous exécutez votre pipeline sur le service Dataflow, Dataflow crée des instances Compute Engine pour exécuter le code associé.

Le quota de Compute Engine est spécifié par région. Passez en revue le quota Compute Engine de votre projet, et demandez les ajustements suivants, si nécessaire :

  • Processeurs : dans les régions suivantes, les types de machines par défaut pour Dataflow sont n1-standard-1 pour le traitement par lot, n1-standard-2 pour les jobs qui utilisent Streaming Engine, n1-standard-4 pour les jobs de streaming qui n'utilisent pas Streaming Engine et n1-standard-2 pour les jobs qui utilisent Flexible Resource Scheduling (FlexRS). FlexRS utilise 90% de VM préemptives et 10% de VM standards.
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-northeast2
    • asia-northeast3
    • asia-south1
    • asia-south2
    • asia-southeast1
    • asia-southeast2
    • australia-southeast1
    • australia-southeast2
    • europe-central2
    • europe-north1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
    • europe-west5
    • europe-west6
    • northamerica-northeast1
    • northamerica-northeast2
    • southamerica-east1
    • us-central1
    • us-central2
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • us-west3
    • us-west4

    Pour les autres régions, les types de machines par défaut sont e2-standard-2 pour le traitement par lot, e2-standard-2 pour les jobs qui utilisent Streaming Engine, e2-standard-4 pour les jobs de streaming qui n'utilisent pas Streaming Engine et e2-standard-2 pour les jobs qui utilisent FlexRS.

    Compute Engine calcule le nombre de processeurs en additionnant le nombre total de processeurs de chaque instance. Par exemple, l'exécution de 10 instances n1-standard-4 équivaut à 40 processeurs. Pour une mise en correspondance des types de machines avec le nombre de processeurs, consultez la page Types de machines Compute Engine.

  • Adresses IP en cours d'utilisation : le nombre d'adresses IP en cours d'utilisation dans votre projet doit être suffisant pour accueillir le nombre d'instances de votre choix. Pour utiliser 10 instances Compute Engine, vous aurez besoin de 10 adresses IP en cours d'utilisation.
  • Disque persistant : Dataflow associe un disque persistant à chaque instance.
    • La taille de disque par défaut est de 250 Go pour les pipelines par lot et de 400 Go pour les pipelines par flux. Pour 10 instances, vous aurez besoin par défaut de 2 500 Go de Persistent Disk pour un job par lot.
    • La taille de disque par défaut est de 25 Go pour les pipelines par lot Dataflow Shuffle.
    • La taille de disque par défaut est de 30 Go pour les pipelines par flux Streaming Engine.
    • Le service Dataflow est actuellement limité à 15 disques persistants par instance de nœud de calcul lors de l'exécution d'une tâche de traitement en flux continu. Chaque disque persistant est local sur une machine virtuelle Compute Engine individuelle. L'allocation minimale de ressources est un ratio de 1:1 entre les nœuds de calcul et les disques.
    • L'utilisation de Compute Engine est basée sur le nombre moyen de nœuds de calcul, tandis que l'utilisation des disques persistants est basée sur le nombre exact de --maxNumWorkers. Les disques persistants sont redistribués de manière à ce que chaque nœud de calcul ait un nombre égal de disques associés.
  • Groupes d'instances gérés régionaux : Dataflow déploie vos instances Compute Engine en tant que groupe d'instances géré. Vous devez vous assurer que le quota associé suivant est disponible :
    • Un groupe d'instances par tâche Dataflow
    • Un modèle d'instance par tâche Dataflow
    • Un groupe d'instances géré régional par tâche Dataflow
  • Si les groupes d'instances gérées sont absents d'un job de streaming pendant plus de sept jours, le job est annulé.
  • Si les groupes d'instances gérées sont absents d'un job par lot pendant plus d'une heure, le job est annulé.

Quotas supplémentaires

Suivant les sources et récepteurs que vous utilisez, vous aurez peut-être également besoin de quotas supplémentaires.

  1. Pub/Sub : si vous utilisez Pub/Sub, vous aurez peut-être besoin d'un quota supplémentaire. Lors de la planification d'un quota, notez que le traitement d'un message provenant de Pub/Sub implique trois opérations. Si vous utilisez des horodatages personnalisés, vous devez doubler le nombre d'opérations prévues, car Dataflow créera un abonnement distinct pour effectuer le suivi de ces horodatages.
  2. BigQuery : si vous utilisez l'API d'insertion en flux continu de BigQuery, des limites de quota et d'autres restrictions s'appliquent.

Rechercher et augmenter les quotas

Vous pouvez procéder comme suit pour vérifier votre utilisation actuelle du quota spécifique à Dataflow :

  1. Dans la console Google Cloud, accédez à la page API et services.
    Accéder aux API et services
  2. Pour vérifier votre utilisation actuelle du quota d'emplacements Shuffle, accédez à l'onglet Quotas et recherchez la ligne Shuffle slots (Emplacements Shuffle) dans le tableau et dans la colonne Graphique d'utilisation, cliquez sur Afficher le graphique d'utilisation.

Si vous souhaitez augmenter votre quota de tâches, contactez l'assistance Google Cloud. Nous augmenterons la limite à une valeur plus adaptée à vos besoins. Le quota par défaut est de 25 tâches Dataflow simultanées pour votre projet ou de 125 tâches Dataflow simultanées pour votre organisation.

En outre, vous pouvez augmenter votre quota d'emplacements Shuffle pour les tâches par lot en envoyant une demande d'assistance et en spécifiant la taille maximale simultanée attendue pour vos ensembles de données Shuffle pour l'ensemble des tâches de votre projet. Avant de demander un quota Shuffle supplémentaire, veuillez exécuter votre pipeline à l'aide de Dataflow Shuffle et vérifier l'utilisation réelle du quota Shuffle.

Pour les tâches de traitement par flux, vous pouvez augmenter votre débit Streaming Engine en envoyant une demande à l'assistance Google Cloud Platform. Dans votre demande, spécifiez le volume maximal de données que vous souhaitez brasser entre les nœuds de calcul chaque minute et pour chaque région dans laquelle s'exécute votre tâche.

Le service Dataflow utilise différents composants de Google Cloud, tels que BigQuery, Cloud Storage, Pub/Sub et Compute Engine. Ces services (et d'autres services Google Cloud) utilisent des quotas pour limiter la quantité maximale de ressources que vous pouvez utiliser au sein d'un projet. Lorsque vous utiliserez Dataflow, vous devrez peut-être ajuster vos paramètres de quota pour ces services.

Dataflow Prime

Les quotas et limites sont les mêmes pour Dataflow et Dataflow Prime. Si vous utilisez des quotas pour Dataflow, vous n'avez pas besoin de quotas supplémentaires pour exécuter vos tâches via l'utilisation de Dataflow Prime.

Limites

Cette section décrit les limites de production pratiques pour Dataflow.

Limite Volume
Nombre maximum de nœuds de calcul par pipeline. 2 000
Taille maximale pour une demande de création de tâche. Les descriptions de pipeline comportant de nombreuses étapes et des noms très détaillés peuvent atteindre cette limite. 10 Mo
Taille maximale pour une requête de lancement de modèle. 1 Mo
Nombre maximum de segments d'entrées secondaires. 20 000
Taille maximale d'un seul élément (sauf dans les cas où des conditions plus strictes s'appliquent, par exemple Streaming Engine). 2 Go
Taille maximale des clés dans les pipelines par lot. 1,5 Mo
Nombre maximal d'entrées de journal pour une période donnée, par nœud de calcul. 15 000 messages toutes les 30 secondes
Nombre maximal de métriques personnalisées par projet. 100
Durée pendant laquelle les recommandations seront stockées. 30 jours
Limites de Streaming Engine Montant
Nombre maximal d'octets pour les messages Pub/Sub. 7 Mo
Taille maximale pour une valeur d'élément unique. 80 Mo
Taille maximale pour une clé volumineuse. Les clés dont la taille dépasse 64 Ko entraînent une baisse des performances. 2 Mo
Taille maximale d'une entrée secondaire. 80 Mo
Longueur maximale pour les tags d'état utilisés par TagValue et TagBag. 64 Ko