Quotas et limites

Ce document recense les quotas et limites qui s'appliquent à Dataflow.

Un quota limite la quantité d'une ressource Google Cloud partagée que votre projet Google Cloud peut utiliser, y compris les composants matériels, logiciels et réseau. Par conséquent, les quotas font partie d'un système qui effectue les opérations suivantes :

  • Surveille votre utilisation ou votre consommation des produits et services Google Cloud
  • Limite la consommation de ces ressources pour des raisons telles que l'équité et la réduction des pics d'utilisation.
  • Gère des configurations qui appliquent automatiquement des restrictions recommandées.
  • Fournit un moyen de demander ou d'effectuer des modifications de quota.

Dans la plupart des cas, lorsqu'un quota est dépassé, le système bloque immédiatement l'accès à la ressource Google concernée et la tâche que vous essayez d'effectuer échoue. Dans la plupart des cas, les quotas s'appliquent à chaque projet Google Cloud. Ils sont partagés entre toutes les applications et adresses IP qui utilisent ce projet.

Pour demander une augmentation ou une diminution de la plupart des quotas, vous pouvez utiliser Google Cloud Console. Pour en savoir plus, consultez Demander une augmentation de quota.

Des limites s'appliquent également aux ressources Dataflow. Ces limites ne sont pas liées au système de quotas. Sauf indication contraire, les limites 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 tâches par lot Dataflow seront annulées au bout de 30 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 : les types de machines par défaut pour Dataflow sont n1-standard-1 pour le traitement par lot, n1-standard-2 pour les tâches qui utilisent Streaming Engine et n1-standard-4 pour les tâches qui n'utilisent pas Streaming Engine. FlexRS utilise par défaut des machines n1-standard-2. Pendant la période de disponibilité en version bêta, FlexRS utilise 90 % de VM préemptives et 10 % de VM standards. 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. Consultez la rubrique Types de machines Compute Engine pour une mise en correspondance des types de machines avec le nombre de processeurs.
  • 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 disque persistant pour une tâche 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 par flux. 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

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 des quotas

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

  1. Dans Google Cloud Console, accédez à la page APIs & services (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, et nous augmenterons la limite à une valeur mieux 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. 1 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 pour une valeur d'élément unique dans Streaming Engine. 80 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 Volume
Nombre maximal d'octets pour les messages Pub/Sub. 7 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