Quota en limieten

Dit document bevat informatie over de quotum- en resourcelimieten voor Pub/Sub.

Zie Controle voor meer informatie over het volgen van uw quota (zoals voor het gebruik van onderwerpen of abonnementen).

Quotumgebruik bekijken en quotumlimieten beheren

U kunt voor een bepaald project het dashboard voor API- en servicequota gebruiken om uw huidige quota en gebruik te zien. U kunt dit dashboard ook gebruiken om één quotum tegelijk aan te passen.

Wilt u meerdere quota aanpassen, gebruik dan het dashboard voor IAM- en beheerquota.

U kunt een van bovenstaande dashboards gebruiken om het volgende te doen:

  • Uw quota verminderen
  • Een proces starten om hogere quotumlimieten aan te vragen

Quotumeenheden

Alle gemeten verzoeken en reacties worden geteld als 1 kB of de totale grootte van het verzoek of de reactie, afhankelijk van wat het hoogste is.

Het quotumgebruik voor elk verzoek of elke reactie wordt naar boven afgerond op de dichtstbijzijnde kB. Als een publicatieverzoek bijvoorbeeld 100 berichten van elk 50 bytes bevat en de lengte van de onderwerpnaam is 30 bytes, dan is het quotumgebruik van het verzoek max(1, ceil(5030/1000)) = 6kB.

Toewijzing van projectgebruik

Voor de verwerkingssnelheid van push-abonnees wordt het quotumgebruik in rekening gebracht bij het project dat het push-abonnement bevat.

Voor de volgende quota wordt het gebruik in rekening gebracht bij het project dat is gekoppeld aan de aanroeper, niet bij het project dat de aangeroepen resource bevat (dus het project dat in het onderwerp of de naam van het abonnement wordt weergegeven).

  • Verwerkingssnelheid van de uitgever
  • Verwerkingssnelheid van de abonnee
  • Beheerdersbewerkingen

Bijvoorbeeld: Als een serviceaccount in project A een verzoek verzendt om een onderwerp te publiceren in project B, wordt het quotum in rekening gebracht bij project A. Elke aanvraag bevat gegevens met een project-ID.

Quotumlimieten

De quota in de volgende tabel kunnen per project worden bekeken en bewerkt in het dashboard voor API- en servicequota.

Quota Standaard quotumlimiet Beschrijving
Verwerkingssnelheid van de uitgever 60.000.000 KB per minuut (1000 MB/s) Het quotumgebruik is gebaseerd op de grootte van berichten in PublishRequest:

Er kunnen meerdere berichten worden opgenomen in één publicatieverzoek en er zijn geen extra quotumkosten per bericht.

Verwerkingssnelheid van de abonnee 120.000.000 kB per minuut (2000 MB/s) Voor pull-abonnementen is het quotumgebruik gebaseerd op de grootte van Pull-reacties, met daarin:

Bovendien maken Acknowledge- en ModifyAckDeadline-verzoeken deel uit van dit quotum:

  • AcknowledgeRequest (RPC)
  • ModifyAckDeadlineRequest (RPC)
    Verwerkingssnelheid van push-abonnees 60.000.000 kB per minuut (100 MB/s) Voor push-afleververzoeken naar het push-eindpunt is het quotumgebruik gebaseerd op de grootte van de verzoeken naar het push-eindpunt.
    Verwerkingssnelheid van StreamingPull-abonnees 120.000.000 kB per minuut (2000 MB/s) Het quotumgebruik is gebaseerd op de grootte van StreamingPullResponses:

    De clientbibliotheken gebruiken waar mogelijk StreamingPull-bewerkingen.

    Aantal open StreamingPull-verbindingen 30.000 open verbindingen tegelijkertijd Het aantal open StreamingPull-verbindingen op elk willekeurig moment. Zie StreamingPull.
    Beheerdersbewerkingen 6000 per minuut (100 ops/s) Voor elke beheerdersbewerking, zoals GetTopicRequest, wordt één eenheid in rekening gebracht bij dit quotum.

    Over het algemeen bestaan de beheerdersbewerkingen uit Get*, List*, Create*, Delete*, ModifyPushConfig, SetIamPolicy, GetIamPolicy en TestIamPermissions.

    Resourcelimieten

    Resource Limieten
    Project 10.000 onderwerpen
    10.000 abonnementen 5000 momentopnamen
    Onderwerp 10.000 gekoppelde abonnementen
    5000 gekoppelde momentopnamen
    Abonnement Bewaart niet-bevestigde berichten in persistente opslag gedurende 7 dagen vanaf het moment dat deze zijn gepubliceerd. Er geldt geen limiet voor het aantal bewaarde berichten.
    Abonnementen waarvan de aanwezigheid van de client gedurende 31 dagen niet is vastgesteld, kunnen automatisch worden verwijderd. Aanwezigheid wordt vastgesteld door aanroepen zoals Pull, Acknowledge en succesvolle pushbewerkingen.
    Publicatieverzoek 10 MB (totale grootte)
    1000 berichten
    Bericht Berichtgrootte (het veld data): 10 MB (maximale verzoekgrootte)
    Kenmerken per bericht: 100
    Grootte kenmerksleutel: 256 bytes
    Grootte kenmerkwaarde: 1024 bytes
    Push-leveringsberichten Op openstaande berichten zijn de volgende limieten per abonnement van toepassing:
    • 10 MB (deze limiet is van toepassing op de som van de grootte van alle openstaande berichten, inclusief berichtgegevens en -kenmerken)
    • In totaal 1000 openstaande berichten
    Als uw eindpunt snel reageert (sneller dan 100 ms), is het onwaarschijnlijk dat deze limieten van kracht worden. Zie de handleiding voor push-abonnees.
    StreamingPull-streams 10 MB/s per open stream
    Pull/StreamingPull-berichten De service kan beperkingen opleggen aan het totale aantal openstaande StreamingPull-berichten per verbinding. Als u met dergelijke beperkingen te maken krijgt, verhoogt u de snelheid waarmee u berichten bevestigt en het aantal verbindingen dat u gebruikt.

    Tips en kanttekeningen

    Hoge volumes verwerken

    Als u de gcloud-tool van Cloud-SDK gebruikt met een normaal gebruikersaccount (dat wil zeggen een niet-serviceaccount), zijn Pub/Sub-bewerkingen beperkt tot een snelheid die geschikt is voor handmatige bewerkingen. Snelheden die deze limiet overschrijden, resulteren in de fout RESOURCE_EXHAUSTED. Dit kunt u voorkomen door serviceaccountgegevens te gebruiken. Als u gegevens van de Cloud-SDK wilt gebruiken voor automatisering, activeert u een serviceaccount voor uw Pub/Sub-bewerkingen.

    Quota met verkeerde overeenkomsten

    Quota met verkeerde overeenkomsten kunnen voorkomen wanneer gepubliceerde of ontvangen berichten kleiner zijn dan 1000 bytes. Voorbeeld:

    • Als u 10 berichten in afzonderlijke verzoeken publiceert en elk bericht 500 bytes is, is uw quotumgebruik voor het publiceren 10.000 bytes. Dit komt doordat berichten die kleiner zijn dan 1000 bytes, automatisch naar boven worden afgerond tot de volgende 1000 bytes.

    • Als u die 10 berichten in één enkele pull-reactie ontvangt, is uw quotumgebruik voor abonnees mogelijk slechts 5 kB, omdat de werkelijke grootte van elk bericht wordt gecombineerd om het totale quotum te bepalen.

    • Het omgekeerde is ook waar. Het quotumgebruik voor abonnees kan groter zijn dan het quotumgebruik voor uitgevers als u meerdere berichten publiceert in één publicatieverzoek of de berichten ontvangt in afzonderlijke Pull-verzoeken.