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 Monitoring, 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 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 cuotas de IAM y administración.

Puedes usar cualquiera de los dos paneles 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 cuotas de APIs y servicios.

Cuota Límite de cuota predeterminado Descripción
Rendimiento del editor 60.000.000 kB por minuto (1000 MB/s) El uso de la cuota se basa en el tamaño de los PubsubMessages publicados:

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

Rendimiento del suscriptor de extracción 120.000.000 kB por minuto (2000 MB/s) En las operaciones de extracción, el uso de la cuota se basa en el tamaño de los PubsubMessages devueltos:

Además, las solicitudes Acknowledge y ModifyAckDeadline están incluidas en esta cuota:

  • AcknowledgeRequest (RPC)
  • ModifyAckDeadlineRequest (RPC)
    Rendimiento del suscriptor de inserción 6.000.000 kB por minuto (100 MB/s) 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 PubsubMessages enviados a dicho punto de conexión.
    Rendimiento del suscriptor de StreamingPull 120.000.000 kB por minuto (2000 MB/s) 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 30.000 conexiones abiertas a la vez 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.

    En general, Get*, List*, Create*, Delete*, ModifyPushConfig, SetIamPolicy, GetIamPolicy y TestIamPermissions componen el conjunto de 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.
    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.
    En el caso de que no se detecte la presencia de un cliente durante 31 días, las suscripciones pueden eliminarse automáticamente. Esta presencia se detecta a través de llamadas como Pull o Acknowledge, o bien de operaciones de inserción realizadas correctamente.
    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, donde 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.

    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.