Quotas et limites

Vous trouverez dans ce document des informations relatives aux quotas et aux limites de ressources pour Cloud Pub/Sub.

Pour en savoir plus sur le suivi de vos quotas, tels que l'utilisation des sujets ou abonnements, consultez la page Surveillance.

Afficher l'utilisation des quotas et gérer les limites de quotas

Pour un projet donné, vous pouvez consulter les quotas et l'utilisation actuels dans le tableau de bord des quotas d'API et de services. Vous pouvez également vous servir de ce tableau de bord pour modifier un seul quota à la fois.

Si vous souhaitez modifier plusieurs quotas, utilisez le tableau de bord des quotas IAM et administration.

Vous pouvez accéder à l'un ou l'autre des tableaux de bord ci-dessus pour :

  • réduire vos quotas ;
  • envoyer une demande d'augmentation des quotas.

Unités de quota

Chaque requête ou réponse mesurée compte comme 1 Ko, ou comme la taille totale de la requête ou de la réponse si celle-ci est supérieure.

L'utilisation du quota pour chaque requête ou réponse est arrondie au kilo-octet le plus proche. Prenons l'exemple d'une requête de publication avec 100 messages de 50 octets chacun et un nom de sujet contenant 30 octets. L'utilisation du quota pour cette requête serait de max(1, ceil(5030/1000)) = 6kB.

Attribution de l'utilisation du projet

Pour le débit d'abonné push, l'utilisation du quota est imputée au projet contenant l'abonnement push.

Pour les quotas suivants, l'utilisation est imputée sur le projet associé aux identifiants de l'appelant, et non au projet contenant la ressource demandée (c'est-à-dire le projet qui apparaît dans le sujet ou le nom d'abonnement) :

  • Débit d'éditeur
  • Débit d'abonné
  • Opérations d'administrateur

Par exemple, si un compte de service d'un projet A envoie une requête de publication dans un sujet d'un projet B, le quota est imputé sur le projet A. Chaque requête contient des identifiants qui incluent un ID de projet.

Limites de quota

Les quotas répertoriés dans le tableau suivant peuvent être affichés et modifiés par projet dans le tableau de bord des quotas d'API et de services.

Quota Limite de quota par défaut Description
Débit d'éditeur 60 000 000 Ko par minute (1 000 Mo/s) L'utilisation du quota est basée sur la taille du ou des messages contenus dans PublishRequest :

Sachez que plusieurs messages peuvent être inclus dans une seule requête de publication. Aucuns frais de quota supplémentaires par message ne sont appliqués.

Débit d'abonné 120 000 000 Ko par minute (2 000 Mo/s) Pour les abonnements pull, l'utilisation du quota est basée sur la taille des réponses Pull pour inclure les éléments suivants :

De plus, les requêtes Acknowledge et ModifyAckDeadline sont incluses dans ce quota :

  • AcknowledgeRequest (RPC)
  • ModifyAckDeadlineRequest (RPC)
    Débit d'abonné push 6 000 000 Ko par minute (100 Mo/s) Pour les requêtes de distribution push effectuées sur le point de terminaison push, l'utilisation du quota est basée sur la taille des requêtes adressées au point de terminaison push.
    Débit d'abonné StreamingPull 120 000 000 Ko par minute (2 000 Mo/s) L'utilisation du quota est basée sur la taille des réponses StreamingPullResponses :

    Sachez que les bibliothèques clientes utilisent les opérations StreamingPull dans la mesure du possible.

    Nombre de connexions StreamingPull ouvertes 30 000 connexions ouvertes à la fois Il s'agit du nombre de connexions StreamingPull ouvertes à un moment donné. Pour en savoir plus, consultez la section StreamingPull.
    Taux de connexions StreamingPull 6 000 000 par minute Il s'agit du taux d'ouverture de nouvelles connexions StreamingPull. Pour en savoir plus, consultez la section StreamingPull.
    Opérations d'administrateur 6 000 par minute (100 opérations/s) Chaque opération d'administrateur, telle que GetTopicRequest, impute une unité à ce quota.

    En général, Get*, List*, Create*, Delete*, ModifyPushConfig, SetIamPolicy, GetIamPolicy et TestIamPermissions constituent l'ensemble des opérations d'administration.

    Limites de ressources

    Ressource Limites
    Projet 10 000 sujets
    10 000 abonnements
    Sujet 10 000 abonnements associés
    5 000 instantanés associés
    Abonnement Conserve les messages non confirmés dans un espace de stockage persistant durant sept jours à compter de leur publication. Il n'y a pas de limite au nombre de messages conservés.
    Les abonnements dont la présence du client n'a pas été détectée pendant 31 jours peuvent être automatiquement supprimés. La présence du client est détectée via des appels tels que Pull, Acknowledge et des opérations Push réussies.
    Requête de publication 10 Mo (taille totale)
    1 000 messages
    Message La taille maximale (champ data) : 10 Mo (taille maximale de la requête)
    Attributs par message : 100
    Taille de la clé d'attribut : 256 octets
    Taille de la valeur d'attribut : 1 024 octets
    Distribution push des messages Les messages en attente sont soumis à ces deux limites par abonnement :
    • 10 Mo (cette limite s'applique à la somme des tailles de tous les messages en attente, y compris les données et les attributs du message)
    • Un total de 1 000 messages en attente
    Si votre point de terminaison renvoie vite ses réponses (plus rapidement que 100 ms), ces limites ne sont pas appliquées. Pour en savoir plus, consultez le Guide pour les abonnés – Mode push.
    Flux StreamingPull 10 Mo/s par flux ouvert
    Messages pull/StreamingPull Le service peut imposer des limites au nombre total de messages StreamingPull en attente par connexion. Si vous rencontrez de telles limites, augmentez la vitesse à laquelle vous accusez réception des messages et le nombre de connexions que vous utilisez.

    Conseils et mises en garde

    Opérations volumineuses

    Si vous utilisez l'outil gcloud du SDK Cloud avec un compte utilisateur normal (c'est-à-dire autre qu'un compte de service), les opérations Cloud Pub/Sub sont limitées à un débit adapté aux opérations manuelles. Des taux dépassant cette limite génèrent l'erreur RESOURCE_EXHAUSTED. La solution consiste à vérifier que vous utilisez les identifiants du compte de service. Si vous souhaitez vous servir des identifiants du SDK Cloud pour l'automatisation, activez un compte de service pour vos opérations Cloud Pub/Sub.

    Incohérences de quotas

    Des incohérences de quota peuvent se produire lorsque les messages publiés ou reçus ont une taille inférieure à 1 000 octets. Exemple :

    • Si vous publiez 10 messages de 500 octets dans des requêtes distinctes, votre quota de publication sera de 10 000 octets. En effet, les messages dont la taille est inférieure à 1 000 octets sont automatiquement arrondis à la tranche de 1 000 octets supérieure.

    • Si vous recevez ces 10 messages via une seule réponse pull, l'utilisation de votre quota d'abonné peut n'être que de 5 ko, car la taille réelle de chaque message est combinée pour déterminer le quota global.

    • L'inverse est également vrai. L'utilisation du quota d'abonné peut être supérieure à l'utilisation du quota de publication si vous publiez plusieurs messages via une seule requête de publication ou si vous recevez les messages via des requêtes pull distinctes.

    Cette page vous a-t-elle été utile ? Évaluez-la :

    Envoyer des commentaires concernant…

    Documentation sur Cloud Pub/Sub