Cuotas y límites

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

En la página relativa a monitorización encontrarás más información sobre cómo hacer un seguimiento de las cuotas (como el uso según el tema o la suscripción).

Ver el uso de la cuota y gestionar sus límites

En un proyecto determinado, puedes usar el panel de control de cuotas de APIs y servicios para ver las cuotas actuales y su uso, así como para modificar las cuotas de una en una.

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

Puedes usar cualquiera de los dos paneles de control para:

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

Atribución de uso del proyecto

En el caso del rendimiento del suscriptor de inserción, el uso de la cuota se factura en el proyecto con este tipo de suscripción.

En las siguientes cuotas, el uso se factura en el proyecto asociado con las credenciales del solicitante, no en el proyecto que contiene el recurso solicitado (es decir, el proyecto que aparece en el nombre del tema o de la suscripción).

  • Rendimiento del editor
  • Rendimiento del suscriptor
  • Operaciones de administrador

Por ejemplo, si una cuenta de servicio del proyecto A envía una solicitud de publicación para publicar un tema en el proyecto B, la cuota se factura en el proyecto A. Todas las solicitudes contienen credenciales que incluyen un ID de proyecto.

Límites de cuota

Las cuotas que se detallan en la siguiente tabla se pueden ver y editar según el proyecto en el panel de control de cuotas de APIs y servicios.

Hay dos tipos de cuotas regionales:

  • Cuotas para regiones grandes: europe-west1, us-central1 y us-east1
  • Cuotas para regiones pequeñas: todas las demás

Cuota Límite de cuota predeterminado Descripción
Rendimiento del editor por región
  • 12.000.000 kB por minuto (200 MB/s) en las regiones grandes
  • 3.000.000 kB por minuto (50 MB/s) en las regiones pequeñas
El uso de la cuota se basa en el tamaño de los mensajes PubsubMessage publicados:

Tenga en cuenta que puede incluir varios mensajes en una única solicitud de publicación sin que se produzcan más cargos por ellos.

Si los mensajes tienen claves de ordenación, el rendimiento máximo del editor será de 1 MB/s por clave.

Rendimiento del suscriptor de extracción por región
  • 24.000.000 kB por minuto (400 MB/s) en las regiones grandes
  • 6.000.000 kB por minuto (100 MB/s) en las regiones pequeñas
El uso de la cuota se basa en el tamaño de los mensajes PubsubMessage devueltos:
Rendimiento del confirmador por región
  • 24.000.000 kB por minuto (400 MB/s) en las regiones grandes
  • 6.000.000 kB por minuto (100 MB/s) en las regiones pequeñas
El uso de la cuota se basa en el tamaño de las solicitudes Acknowledge y ModifyAckDeadline:
Rendimiento del suscriptor de inserción por región
  • 1.200.000 kB por minuto (20 MB/s) en las regiones grandes
  • 300.000 kB por minuto (5 MB/s) en las regiones pequeñas
En el caso de las solicitudes de publicación de inserción que se realizan al punto de conexión de inserción, el uso de la cuota se basa en el tamaño de los mensajes PubsubMessage enviados a dicho punto de conexión.
Rendimiento del suscriptor de StreamingPull por región
  • 24.000.000 kB por minuto (400 MB/s) en las regiones grandes
  • 6.000.000 kB por minuto (100 MB/s) en las regiones pequeñas
El uso de la cuota se basa en el tamaño de los PubsubMessages transmitidos al suscriptor:

Las bibliotecas de cliente usan las operaciones StreamingPull siempre que sea posible.

Número de conexiones StreamingPull abiertas por región
  • 24.000 conexiones abiertas a la vez en las regiones grandes
  • 6000 conexiones abiertas a la vez en las regiones pequeñas
El número de conexiones StreamingPull abiertas en un momento determinado. Consulta StreamingPull.
Operaciones de administrador 6000 por minuto (100 operaciones/s) Cada operación de administrador, como GetTopicRequest, factura una unidad en esta cuota.

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

Unidades de cuota de rendimiento

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

Límites de recursos

Recurso Límites
Proyecto 10.000 temas
10.000 suscripciones vinculadas o sin vincular
5000 capturas
Tema 10.000 suscripciones vinculadas.
5000 capturas vinculadas.
Suscripción Retiene mensajes no confirmados en el almacenamiento persistente durante 7 días desde el momento en que se publicaron. No hay límite en el número de mensajes que se pueden retener.
Si los usuarios no utilizan su suscripción, esta caduca. El periodo de caducidad predeterminado es de 31 días.
Solicitud de publicación 10 MB (tamaño total).
1000 mensajes.
Mensaje Tamaño del mensaje (el campo data): 10 MB.
Atributos por mensaje: 100.
Tamaño de clave de atributo: 256 bytes.
Tamaño de valor de atributo: 1024 bytes.
Mensajes de inserción pendientes

3,000 * N de forma predeterminada.

30,000 * N para suscripciones que confirman más del 99 % de los mensajes y tienen una latencia media inferior a 1 s para las solicitudes de inserción. l10n-attrs-original-order="of,push,request">

N es el número de regiones de publicación. Para obtener más información, consulta esta página sobre cómo usar las suscripciones de inserción.

Transmisiones de StreamingPull 10 MB por segundo por transmisión abierta
Mensajes Pull/StreamingPull El servicio puede imponer límites al número total de mensajes StreamingPull pendientes por conexión. Si llegas a estos límites, incrementa la frecuencia con la que confirmas los mensajes y el número de conexiones que usas.

Consejos y advertencias

Operaciones de gran volumen

Si se utiliza la herramienta gcloud del SDK de Google Cloud con una cuenta de usuario normal (es decir, que no sea de servicio), las operaciones de Pub/Sub se limitan a una tasa adecuada para las operaciones manuales. Las tasas que superen este límite devolverán el error RESOURCE_EXHAUSTED. Para solucionarlo, comprueba que estás usando las credenciales de la cuenta de servicio. Si quieres usar las credenciales del SDK de Google Cloud para la automatización, activa una cuenta de servicio para tus operaciones de Pub/Sub.

Puntos de conexión

Si tienes una cuota mayor en determinadas regiones, puedes dirigir las solicitudes a esas regiones mediante puntos de conexión Pub/Sub regionales. Cuando publicas mensajes en un punto de conexión mundial, el servicio Pub/Sub puede dirigir el tráfico a regiones que no tengan suficiente cuota.

Discrepancias en las cuotas

Pueden producirse discrepancias en las cuotas si los mensajes publicados o recibidos no superan los 1000 bytes. Por ejemplo:

  • Si publicas 10 mensajes de 500 bytes cada uno en solicitudes independientes, el uso de tu cuota de editor ascenderá a 10.000 bytes. Esto se debe a que los mensajes inferiores a 1000 bytes se redondean automáticamente al siguiente incremento de 1000 bytes.

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

  • También funciona a la inversa. El uso de la cuota de suscriptor puede ser mayor que el uso de la cuota de editor si publicas varios mensajes en una única solicitud de publicación o si recibes los mensajes en solicitudes de extracción independientes.