Cuotas y límites

En este documento se proporciona información sobre las cuotas y los límites de recursos de Pub/Sub.

Para obtener más información sobre el seguimiento de tus cuotas (como el uso de temas o suscripciones), consulta la sección sobre Monitoring.

Consulta el uso de las cuotas y administra los límites

Para un proyecto determinado, puedes usar el panel de cuotas de API y servicios a fin de ver el uso y las cuotas actuales. También puedes usar este panel para modificar una cuota a la vez.

Para modificar varias cuotas, usa el panel de cuotas de IAM y administración.

Puedes usar cualquiera de los paneles anteriores para hacer lo siguiente:

  • Reducir tus cuotas
  • Iniciar un proceso para solicitar límites de cuota más altos

Atribución del uso de proyectos

Para la capacidad de procesamiento de suscriptores de envío, el uso de cuotas se cobra al proyecto que contiene la suscripción de envío.

Para las siguientes cuotas, el uso se cobra al proyecto asociado con las credenciales de la persona que llama, no al proyecto que contiene el recurso solicitado (es decir, el proyecto que aparece en el tema o nombre de la suscripción):

  • Capacidad de procesamiento del publicador
  • Capacidad de procesamiento del suscriptor
  • Operaciones de administrador

Por ejemplo, si una cuenta de servicio en el proyecto A envía una solicitud de publicación para publicar en un tema del proyecto B, la cuota se cobra al proyecto A. Cada solicitud contiene credenciales que incluyen un ID del proyecto.

Límites de cuota

Las cuotas que se muestran en la siguiente tabla se pueden ver y editar por proyecto en el panel de cuotas de API y servicios.

Las cuotas regionales se dividen en 2 tipos:

  • Regiones grandes: europe-west1, us-central1, us-east1
  • Regiones pequeñas: el resto de las regiones

Cuota Límite de cuota predeterminado Descripción
Capacidad de procesamiento del publicador por región
  • 12,000,000 KB por minuto (200 MB/s) en regiones grandes
  • 3,000,000 KB por minuto (50 MB/s) en regiones pequeñas
El uso de la cuota depende del tamaño de los PubsubMessage publicados:

Ten en cuenta que se pueden incluir varios mensajes en una sola solicitud de publicación, y no hay un cargo de cuota adicional por mensaje.

Si los mensajes tienen claves de ordenamiento, la capacidad de procesamiento máxima del publicador es de 1 MB/s por clave de ordenamiento.

Capacidad de procesamiento del suscriptor de operaciones de extracción por región
  • 24,000,000 KB por minuto (400 MB/s) en regiones grandes
  • 6,000,000 KB por minuto (100 MB/s) en regiones pequeñas
El uso de la cuota depende del tamaño de los PubsubMessage publicados:
Capacidad de procesamiento de la confirmación de recepción por región
  • 24,000,000 KB por minuto (400 MB/s) en regiones grandes
  • 6,000,000 KB por minuto (100 MB/s) en regiones pequeñas
El uso de la cuota se basa en el tamaño de las solicitudes Acknowledge y ModifyAckDeadline:
Capacidad de procesamiento del suscriptor de operaciones de envío por región
  • 1,200,000 KB por minuto (20 MB/s) en regiones grandes
  • 300,000 KB por minuto (5 MB/s) en regiones pequeñas
Para las solicitudes de entrega de envío realizadas al extremo de envío, el uso de la cuota depende del tamaño de los PubsubMessage enviados.
Capacidad de procesamiento del suscriptor de StreamingPull por región
  • 24,000,000 KB por minuto (400 MB/s) en regiones grandes
  • 6,000,000 KB por minuto (100 MB/s) en regiones pequeñas
El uso de la cuota depende del tamaño de los PubsubMessage transmitidos al suscriptor:

Ten en cuenta que las bibliotecas cliente usan operaciones StreamingPull siempre que sea posible.

Cantidad de conexiones de StreamingPull abiertas por región
  • 24,000 conexiones abiertas a la vez en regiones grandes
  • 6,000 conexiones abiertas a la vez en regiones pequeñas
Cantidad de conexiones de StreamingPull abiertas en un momento determinado. Consulta StreamingPull.
Operaciones de administrador 6,000 por minuto (100 ops/s) Cada operación de administrador, como GetTopicRequest, se cobra como una unidad en esta cuota.

Get*, List*, Create*, Delete*, ModifyPushConfig, SetIamPolicy, GetIamPolicy, TestIamPermissions y DetachSubscription son operaciones de administrador.

Unidades de cuota de capacidad de procesamiento

El uso de cuotas de capacidad de procesamiento se mide en unidades de 1 KB. 1 KB equivale a 1,000 bytes. Por ejemplo, en una PublishRequest con 105 mensajes de 50 bytes cada uno, el tamaño de los datos del usuario es 105 * 50 bytes = 5250 bytes, por lo que el uso de la cuota es max(1kB, ceil(5250 bytes/1000)) = 6kB.

Límites de recursos

Recurso Límites
Proyecto 10,000 temas
10,000 suscripciones conectadas o desconectadas
5,000 instantáneas
Tema 10,000 suscripciones adjuntas
5,000 instantáneas adjuntas
Suscripción Retiene los mensajes no reconocidos en el almacenamiento continuo durante 7 días desde el momento de la publicación. No hay límite para la cantidad de mensajes retenidos.
Las suscripciones en las que no se detecta la presencia de su cliente durante un período de 31 días pueden borrarse de forma automática. La presencia se detecta a través de llamadas como Pull, Acknowledge y operaciones de envío exitosas.
Solicitud de publicación 10 MB (tamaño total)
1,000 mensajes
Mensaje Tamaño del mensaje (campo data): 10 MB
Atributos por mensaje: 100
Tamaño de la clave del atributo: 256 bytes
Tamaño del valor del atributo: 1,024 bytes
Mensajes pendientes de envío 3,000 * N en el que N es la cantidad de regiones para publicar. Para obtener más información, consulta Usa suscripciones de envío.
Transmisiones de StreamingPull 10 MB/s por transmisión abierta
Mensajes de Pull/StreamingPull El servicio podría imponer límites en la cantidad total de mensajes de StreamingPull pendientes por conexión. Si alcanzas esos límites, aumenta la tasa a la que se reconocen los mensajes y la cantidad de conexiones que usas.

Sugerencias y advertencias

Operaciones de alto volumen

Si usas la herramienta de gcloud del SDK de Cloud con una cuenta de usuario normal (es decir, una cuenta que no es de servicio), las operaciones de Pub/Sub se limitan a una tasa adecuada para operaciones manuales. Las tasas que excedan este límite generarán el error RESOURCE_EXHAUSTED. La solución es asegurarte de estar usando las credenciales de una cuenta de servicio. Si deseas usar credenciales del SDK de Cloud en la automatización, activa una cuenta de servicio para tus operaciones de Pub/Sub.

Cuotas que no coinciden

Puede ocurrir que las cuotas no coincidan cuando los mensajes publicados o recibidos son de menos de 1,000 bytes. Por ejemplo:

  • Si publicas 10 mensajes de 500 bytes en solicitudes diferentes, el uso de cuota de tu publicador será de 10,000 bytes. Esto se debe a que los mensajes de menos de 1,000 bytes se redondean de forma automática al siguiente incremento de 1,000 bytes.

  • Si recibes esos 10 mensajes en una sola respuesta de extracción, tu uso de cuota de suscriptor podría ser de solo 5 KB, ya que se combina el tamaño real de cada mensaje para determinar la cuota general.

  • Lo opuesto también se cumple. El uso de cuota de suscriptores podría superar el de la cuota de publicadores si publicas varios mensajes en una sola solicitud de publicación o recibes los mensajes en solicitudes de extracción diferentes.