Quote e limiti Pub/Sub

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Google Cloud utilizza le quote per limitare la quantità di una particolare risorsa di Google Cloud condivisa che puoi utilizzare. Ogni quota rappresenta una specifica risorsa conteggiabile, come le chiamate API a un determinato servizio, il numero di byte inviati a un determinato servizio o il numero di connessioni streaming utilizzate contemporaneamente dal progetto.

Molti servizi hanno anche limiti non correlati al sistema delle quote. Si tratta di vincoli fissi, come le dimensioni massime dei messaggi o il numero di risorse Pub/Sub che puoi creare in un progetto, ma non possono essere incrementati o diminuiti.

Visualizza e gestisci le quote

Per un determinato progetto, puoi utilizzare la dashboard delle quote di amministrazione e IAM per visualizzare i limiti e l'utilizzo attuali delle quote. Puoi utilizzare questa dashboard anche per:

  • Ridurre i limiti di quota
  • Avviare una procedura per richiedere i limiti di quota

Per ulteriori informazioni sul monitoraggio e degli avvisi sull'utilizzo della quota, consulta Monitoraggio.

Attribuzione dell'utilizzo delle quote

Per la velocità effettiva del sottoscrittore di tipo push, l'utilizzo delle quote viene addebitato a carico del progetto che contiene la sottoscrizione push. Si tratta del progetto che viene visualizzato nel nome della sottoscrizione.

Per tutte le altre quote, l'utilizzo viene addebitato in base al progetto associato alle credenziali specificate nella richiesta. L'utilizzo della quota non viene addebitato in base al progetto che contiene la risorsa richiesta.

Ad esempio: se un account di servizio nel progetto A invia una richiesta di pubblicazione a un argomento nel progetto B, la quota viene addebitata al progetto A. In alcuni casi, potresti voler addebitare l'utilizzo della quota a fronte di un altro progetto. Puoi utilizzare il parametro di sistema X-Goog-User-Project per modificare il progetto per l'attribuzione della quota. Per scoprire di più su X-Goog-User-Project, consulta i Parametri di sistema.

Puoi utilizzare l'interfaccia a riga di comando gcloud per impostare il progetto per l'attribuzione della quota per una richiesta specifica. L'interfaccia a riga di comando gcloud invia l'intestazione della richiesta X-Goog-User-Project.

Devi avere il ruolo roles/serviceusage.serviceUsageConsumer o un ruolo personalizzato con l'autorizzazione serviceusage.services.use per il progetto che utilizzerai per l'attribuzione della quota.

L'esempio seguente mostra come ottenere un elenco degli abbonamenti nel progetto RESOURCE_PROJECT durante l'addebito della quota di operazioni di amministratore rispetto al progetto QUOTA_PROJECT. Esegui questo comando nel terminale Google Cloud CLI:

gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT

Sostituisci QUOTA_PROJECT con l'ID del progetto Google Cloud per il quale vuoi addebitare la quota.

Nota che in Pub/Sub, il progetto fatturato è sempre quello che contiene la risorsa. Puoi modificare il progetto solo per l'attribuzione della quota.

Quote di Pub/Sub

Le quote elencate nella tabella seguente possono essere visualizzate e modificate in base al progetto nella dashboard delle quote di API e servizi.

Le quote per le aree geografiche sono suddivise in due tipi:

  • Regioni di grandi dimensioni: europe-west1, us-central1, us-east1, us-west1
  • Aree geografiche di piccole dimensioni: tutte le altre

Quota Limite di quota predefinito Descrizione
Velocità effettiva del publisher per regione
  • 120.000.000 kB al minuto (2 GB/s) in aree geografiche di grandi dimensioni
  • 12.000.000 kB al minuto (200 MB/s) in piccole aree geografiche

pubsub.googleapis.com/regionalpublisher

L'utilizzo della quota si basa sulle dimensioni dei PubsubMessage pubblicati:

Tieni presente che possono essere inclusi più messaggi in una singola richiesta di pubblicazione e non sono previsti costi aggiuntivi per la quota di messaggi.

Velocità effettiva sottoscrittore di tipo pull per area geografica
  • 240.000.000 kB al minuto (4 GB/s) in aree geografiche di grandi dimensioni
  • 24.000.000 kB al minuto (400 MB/s) in piccole aree geografiche

pubsub.googleapis.com/regionalsubscriber

L'utilizzo della quota si basa sulle dimensioni dei PubsubMessage restituiti:

Velocità effettiva Acknowledger per area geografica
  • 240.000.000 kB al minuto (4 GB/s) in aree geografiche di grandi dimensioni
  • 24.000.000 kB al minuto (400 MB/s) in piccole aree geografiche

pubsub.googleapis.com/regionalacknowledger

L'utilizzo della quota si basa sulle dimensioni delle richieste Acknowledge e ModifyAckDeadline:

Velocità effettiva sottoscrittore push e BigQuery per regione
  • 8.400.000 kB al minuto (140 MB/s) nelle aree geografiche di grandi dimensioni
  • 1.200.000 kB al minuto (20 MB/s) in regioni piccole

pubsub.googleapis.com/regionalpushsubscriber

Per le richieste di consegna push inviate all'endpoint push, l'utilizzo della quota si basa sulle dimensioni dei PubsubMessage inviati all'endpoint push.

Velocità effettiva sottoscrittore StreamingPull per regione
  • 240.000.000 kB al minuto (4 GB/s) in aree geografiche di grandi dimensioni
  • 24.000.000 kB al minuto (400 MB/s) in piccole aree geografiche

pubsub.googleapis.com/regionalstreamingpullsubscriber

L'utilizzo della quota si basa sulle dimensioni dei flussi di PubsubMessage trasmessi all'abbonato:

Tieni presente che le librerie client utilizzano operazioni StreamingPull se possibile.

Numero di connessioni StreamingPull aperte per regione
  • 72.000 connessioni aperte alla volta nelle aree geografiche di grandi dimensioni
  • 24.000 connessioni aperte alla volta nelle piccole aree geografiche

pubsub.googleapis.com/regionalstreamingpullconnections

Il numero di connessioni StreamingPull aperte in un determinato momento. Vedi StreamingPull.

Operazioni dell'amministratore 6000 al minuto (100 operazioni/s)

pubsub.googleapis.com/administrator

Ogni operazione dell'amministratore, ad esempio GetTopicRequest, addebita un'unità a questa quota.

Get*, List*, Create*, Delete*, Update*, ModifyPushConfig, SetIamPolicy, GetIamPolicy, TestIamPermissions, ValidateSchema, ValidateMessage e DetachSubscription sono operazioni dell'amministratore.

Numero di messaggi consumati dalle iscrizioni in cui è attiva la distribuzione esatta per area geografica
  • 10.000.000 di messaggi al minuto in regioni di grandi dimensioni
  • 1.000.000 di messaggi al minuto in regioni piccole

pubsub.googleapis.com/exactlyoncedeliveredmessagecount

L'utilizzo della quota si basa sul numero di PubsubMessage consumato dall'abbonato:

Numero di messaggi confermati o la cui scadenza è estesa quando si utilizzano abbonamenti con pubblicazione "exactly-once" abilitata per regione
  • 100.000.000 di operazioni al minuto in grandi aree geografiche
  • 10.000.000 di operazioni al minuto in piccole aree geografiche

pubsub.googleapis.com/exactlyonceackcount

L'utilizzo della quota si basa sul numero di ID di conferma nelle richieste Acknowledge e ModifyAckDeadline:

Unità per le quote di velocità effettiva

L'utilizzo delle quote di velocità effettiva viene misurato in unità da 1 kB. 1 kB corrisponde a 1000 byte. Ad esempio, in un PublishRequest con 105 messaggi da 50 byte ciascuno, la dimensione dei dati utente è 105 * 50 bytes = 5250 bytes, quindi l'utilizzo della quota è max(1kB, ceil(5250 bytes/1000)) = 6kB.

Limiti delle risorse

Risorsa Limiti
Progetto 10.000 argomenti
10.000 sottoscrizioni collegate o scollegate
5000 snapshot
10.000 schemi
Argomento 10.000 sottoscrizioni collegate
5000 snapshot collegati
Se è configurata la conservazione dei messaggi degli argomenti, i messaggi pubblicati in un argomento possono essere conservati nello spazio di archiviazione permanente per un massimo di 31 giorni dalla data di pubblicazione.
Sottoscrizione Per impostazione predefinita, conserva i messaggi non confermati in uno spazio di archiviazione permanente per 7 giorni dal momento della pubblicazione. Non ci sono limiti sul numero di messaggi conservati.
La sottoscrizione scadrà se i sottoscrittori non la utilizzano. Il periodo di scadenza predefinito è 31 giorni.
Schema Dimensioni schema (il campo definition): 50 kB
Richiesta di pubblicazione 10 MB (dimensioni totali)
1000 messaggi
Messaggio Dimensioni messaggio (il campo data): 10 MB
Attributi per messaggio: 100
Dimensioni chiave attributo: 256 byte
Dimensioni valore attributo: 1024 byte
Flussi StreamingPull 10 MB/s per flusso aperto
Messaggi Pull/StreamingPull Il servizio potrebbe applicare limiti al numero totale di messaggi StreamingPull in sospeso per connessione. Se riscontri tali limiti, aumenta la frequenza di conferma dei messaggi e il numero di connessioni utilizzate.
Confermare e modificare le richieste AckDeadline 512 kB (dimensione totale)
Chiavi per gli ordini Se i messaggi hanno chiavi di ordinamento, la velocità effettiva massima del publisher è di 1 MBps per ogni chiave di ordinamento.

Utilizza un account di servizio per quote più elevate

Se utilizzi lo strumento gcloud dell'interfaccia a riga di comando di Google Cloud con un normale account utente (ovvero un account non di servizio), le operazioni Pub/Sub sono limitate a una tariffa adatta alle operazioni manuali. Le tariffe che superano questo limite generano l'errore RESOURCE_EXHAUSTED. La soluzione consiste nell'utilizzare le credenziali dell'account di servizio. Se vuoi utilizzare le credenziali dell'interfaccia a riga di comando gcloud per l'automazione, attiva un account di servizio per le operazioni Pub/Sub.

Usa endpoint a livello di regione per instradare le richieste

Se hai una quota aggiuntiva in determinate aree geografiche, puoi indirizzare le richieste a queste aree geografiche utilizzando gli endpoint Pub/Sub a livello di area geografica. Quando pubblichi messaggi in un endpoint globale, il servizio Pub/Sub potrebbe instradare il traffico verso un'area geografica che non dispone di quota sufficiente.

Quote non corrispondenti

I casi di quote non corrispondenti possono verificarsi quando i messaggi pubblicati o ricevuti sono di dimensioni inferiori ai 1000 byte, Ad esempio:

  • Se pubblichi 10 messaggi da 500 byte in richieste distinte, l'utilizzo della quota del publisher sarà di 10.000 byte. Questo perché i messaggi di dimensioni inferiori ai 1000 byte vengono automaticamente arrotondati per eccesso all'incremento di 1000 byte successivo.

  • Se ricevi questi 10 messaggi in una singola risposta pull, l'utilizzo della quota di sottoscrittore potrebbe essere solo di 5 kB, poiché le dimensioni effettive di ogni messaggio vengono combinate per determinare la quota complessiva.

  • Questo è vero anche in caso contrario. L'utilizzo della quota di sottoscrittore potrebbe essere maggiore dell'utilizzo della quota di publisher se pubblichi più messaggi in una singola richiesta di pubblicazione o se ricevi i messaggi in richieste di pull separate.