Quote e limiti di Pub/Sub

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

Molti servizi hanno anche limiti non correlati al sistema di 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, che non possono essere aumentati o diminuiti.

Visualizzare e gestire le quote

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

  • Ridurre i limiti di quota
  • Avviare un processo di richiesta di limiti delle quote più elevati

Per ulteriori informazioni sul monitoraggio e sugli avvisi relativi all'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. Questo è il progetto che viene visualizzato nel nome dell'abbonamento.

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

Ad esempio, se un account di servizio del progetto A invia una richiesta di pubblicazione per pubblicare un argomento nel progetto B, la quota è addebitata al progetto A. In alcuni casi, potresti voler addebitare l'utilizzo della quota a un altro progetto. Puoi utilizzare il parametro di sistema X-Goog-User-Project per modificare il progetto per l'attribuzione delle quote. Per maggiori informazioni su X-Goog-User-Project, consulta la sezione Parametri di sistema.

Puoi utilizzare gcloud CLI per impostare il progetto per l'attribuzione della quota per una richiesta specifica. gcloud CLI invia l'intestazione della richiesta X-Goog-User-Project.

Devi disporre del ruolo roles/serviceusage.serviceUsageConsumer o di un ruolo personalizzato con l'autorizzazione serviceusage.services.use sul progetto che utilizzerai per l'attribuzione della quota.

L'esempio seguente mostra come ottenere un elenco di abbonamenti nel progetto RESOURCE_PROJECT addebitando la quota Operazioni di amministrazione 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 Trusted Cloud by S3NS a cui vuoi addebitare la quota.

Tieni presente 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 regioni sono suddivise in tre tipi:

  • Aree geografiche di grandi dimensioni: europe-west1, europe-west4, us-central1, us-east1, us-east4, us-west1, us-west2
  • Regioni medie: asia-east1, asia-northeast1, asia-southeast1, europe-west2, europe-west3
  • Aree geografiche di piccole dimensioni: tutte le altre

Le quote di consegna "exactly-once" sono specifiche per regione. Controlla i dettagli per ogni regione nella tabella seguente.

Quota Limite di quota predefinito Descrizione
Velocità effettiva del publisher per regione
  • 240.000.000 kB al minuto (4 GB/s) nelle aree geografiche di grandi dimensioni
  • 48.000.000 kB al minuto (800 MB/s) nelle regioni di medie dimensioni
  • 12.000.000 kB al minuto (200 MB/s) nelle aree geografiche di piccole dimensioni

pubsub.googleapis.com/regionalpublisher

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

In una singola richiesta di pubblicazione possono essere inclusi più messaggi e non è previsto alcun addebito di quota aggiuntiva per messaggio. Le dimensioni del messaggio, calcolate ai fini dell'utilizzo della quota, includono anche il campo message_id generato automaticamente.

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

pubsub.googleapis.com/regionalsubscriber

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

Le dimensioni del messaggio, calcolate ai fini dell'utilizzo della quota, includono anche il campo message_id generato automaticamente.

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

pubsub.googleapis.com/regionalacknowledger

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

Velocità effettiva delle sottoscrizioni push per regione
  • 26.400.000 kB al minuto (440 MB/s) nelle aree geografiche di grandi dimensioni
  • 8.400.000 kB al minuto (140 MB/s) nelle regioni di medie dimensioni
  • 2.400.000 kB al minuto (40 MB/s) nelle aree geografiche di piccole dimensioni

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.

Abbonamenti BigQuery velocità effettiva per regione
  • 240.000.000 kB al minuto (4 GB/s) nelle aree geografiche di grandi dimensioni
  • 48.000.000 kB al minuto (800 MB/s) nelle regioni di medie dimensioni
  • 12.000.000 kB al minuto (200 MB/s) nelle aree geografiche di piccole dimensioni

pubsub.googleapis.com/regionalpushbigquerysubscriber

Per le richieste effettuate a BigQuery, l'utilizzo della quota si basa sulle dimensioni dei PubsubMessage inviati a BigQuery.

Sottoscrizioni Cloud Storage velocità effettiva per regione
  • 240.000.000 kB al minuto (4 GB/s) nelle aree geografiche di grandi dimensioni
  • 48.000.000 kB al minuto (800 MB/s) nelle regioni di medie dimensioni
  • 12.000.000 kB al minuto (200 MB/s) nelle aree geografiche di piccole dimensioni

pubsub.googleapis.com/regionalpushcloudstoragesubscriber

Per le richieste inviate a Cloud Storage, l'utilizzo della quota si basa sulle dimensioni dei PubsubMessage inviati a Cloud Storage.

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

pubsub.googleapis.com/regionalstreamingpullsubscriber

L'utilizzo della quota si basa sulle dimensioni dei flussi di PubsubMessage trasmessi al sottoscrittore:

Le librerie client utilizzano operazioni StreamingPull quando possibile.

Numero di connessioni StreamingPull aperte per regione
  • 72.000 connessioni aperte alla volta nelle regioni di grandi dimensioni
  • 48.000 connessioni aperte alla volta nelle regioni di medie dimensioni
  • 24.000 connessioni aperte alla volta nelle regioni di piccole dimensioni

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,CommitSchema,RollbackSchema, DeleteSchemaRevision, ListSchemaRevisions, e DetachSubscription sono operazioni dell'amministratore.

Numero di messaggi utilizzati dagli abbonamenti con consegna esattamente una volta abilitata per regione
  • 1.000.000 di messaggi al minuto in us-central1
  • 700.000 messaggi al minuto in us-east1
  • 300.000 messaggi al minuto in us-west1
  • 180.000 messaggi al minuto in altre regioni

pubsub.googleapis.com/exactlyoncedeliveredmessagecount

L'utilizzo della quota si basa sul numero di PubsubMessage consumati dal sottoscrittore:

Numero di messaggi riconosciuti o la cui scadenza è stata estesa quando si utilizzano sottoscrizioni con consegna exactly-once abilitata per regione
  • 10.000.000 di messaggi al minuto in us-central1
  • 7.000.000 di messaggi al minuto in us-east1
  • 3.000.000 di messaggi al minuto in us-west1
  • 1.800.000 messaggi al minuto in altre regioni

pubsub.googleapis.com/exactlyonceackcount

L'utilizzo della quota si basa sul numero di ID di riconoscimento 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 una PublishRequest con 105 messaggi da 50 byte ciascuno, le dimensioni dei dati utente sono pari a 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 dell'argomento, i messaggi pubblicati in un argomento possono essere conservati in un archivio permanente per un massimo di 31 giorni dalla pubblicazione.
Abbonamento Per impostazione predefinita, conserva i messaggi non confermati in un archivio permanente per 7 giorni dal momento della pubblicazione. Non ci sono limiti al numero di messaggi conservati.
La sottoscrizione scadrà se i sottoscrittori non la utilizzano. Il periodo di scadenza predefinito è 31 giorni.
Schema Dimensioni schema (campo definition): 300 kB
Revisioni per schema: 20
Richiesta di pubblicazione 10 MB (dimensioni totali)
1000 messaggi
Messaggio Dimensioni messaggio (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
Risposta pull unaria Numero massimo di messaggi nella risposta pull: 1000
Dimensioni massime della risposta pull: 10 MB
Messaggi Pull/StreamingPull Il servizio potrebbe imporre limiti sul numero totale di messaggi StreamingPull in sospeso per connessione. Se incontri tali limiti, aumenta la frequenza di conferma dei messaggi e il numero di connessioni utilizzate.
Richieste Acknowledge e ModifyAckDeadline 512 KB (dimensione totale)
Chiavi di ordinamento Se i messaggi includono chiavi di ordinamento, la velocità effettiva massima del publisher è 1 MBps per ogni chiave di ordinamento.
Oggetti del bucket Cloud Storage Quando utilizzi gli argomenti di importazione di Cloud Storage, il limite per il numero di oggetti in un bucket è di 50 milioni.

Utilizzare un account di servizio per quote più elevate

Se utilizzi lo strumento Google Cloud CLI con un normale account utente (ovvero un account non di servizio), le operazioni Pub/Sub sono limitate a una frequenza idonea per le operazioni manuali. Le frequenze che superano questo limite causeranno l'errore RESOURCE_EXHAUSTED. La soluzione consiste nell'utilizzare le credenziali dell'account di servizio. Se vuoi utilizzare le credenziali di gcloud CLI per l'automazione, attiva un service account per le operazioni Pub/Sub.

Utilizza endpoint basati sulla posizione per indirizzare le richieste

Se hai una quota aggiuntiva in determinate regioni, puoi indirizzare le richieste a queste regioni utilizzando gli endpoint Pub/Sub basati sulla località. 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.