Cuotas y límites

Cuotas

El servicio administrado de Dataflow tiene los siguientes límites de cuota:

  • Cada usuario puede realizar hasta 3,000,000 de solicitudes por minuto.
  • Cada trabajo de Dataflow puede usar un máximo de 1,000 instancias de Compute Engine.
  • Cada proyecto de Google Cloud puede ejecutar 25 trabajos de Dataflow simultáneos.
  • Si aceptas las cuotas de nivel de organización, cada organización puede ejecutar 125 trabajos de Dataflow simultáneos.
  • Cada usuario puede realizar hasta 15,000 solicitudes de supervisión por minuto.
  • Cada proyecto de Google Cloud tiene las siguientes ranuras de Shuffle en cada región:
    • asia-east1: 48 ranuras
    • europe-west1: 160 ranuras
    • europe-west4: 128 ranuras
    • us-central1: 160 ranuras
    • us-east1: 48 ranuras
    • us-west1: 48 ranuras
    • otros: 16 ranuras
    160 ranuras son suficientes para reorganizar aproximadamente 100 TB de datos de forma simultánea.
  • Cada proyecto de Google Cloud obtiene 60 GB por minuto por región de la nube de capacidad de procesamiento de Streaming Engine para enviar datos entre las instancias de Compute Engine y Streaming Engine.

Puedes verificar el uso actual de la cuota específica de Dataflow de la manera siguiente:

  1. En Google Cloud Console, dirígete a API y servicios.
    Ir a API y servicios
  2. Haz clic en Panel.
  3. Haz clic en Dataflow API.
  4. Haz clic en Cuotas (Quotas).
    Por ejemplo, para verificar el uso actual de la cuota de las ranuras de Shuffle, busca el gráfico Ranuras de Shuffle (Shuffle slots) en la página Cuotas (Quotas).
    Ranuras de Shuffle en la página Cuotas.

El servicio de Dataflow usa varios componentes de Google Cloud, como BigQuery, Cloud Storage, Pub/Sub y Compute Engine. Estos (y otros servicios de Google Cloud) emplean cuotas para limitar la cantidad máxima de recursos que puedes usar en un proyecto. Cuando uses Dataflow, es posible que debas ajustar la configuración de cuotas para estos servicios.

Cuotas de Compute Engine

Cuando ejecutas tu canalización en el servicio de Dataflow, se crean instancias de Compute Engine para ejecutar el código de tu canalización.

La cuota de Compute Engine se especifica por región. Revisa la cuota de Compute Engine de tu proyecto y solicita los siguientes ajustes, si es necesario:

  • CPU: Los tipos de máquina predeterminados de Dataflow son n1-standard-1 para trabajos por lotes, n1-standard-2 para trabajos que usan Streaming Engine y n1-standard-4 para los que no usan Streaming Engine. FlexRS utiliza máquinas n1-standard-2 de forma predeterminada. Durante la versión Beta, FlexRS usa un 90% de VM interrumpibles y un 10% de VM normales. Compute Engine calcula la cantidad máxima de CPU mediante la suma del conteo de CPU total de cada instancia. Por ejemplo, ejecutar 10 instancias n1-standard-4 cuenta como 40 CPU. Consulta los tipos de máquina de Compute Engine para ver la correlación entre los tipos de máquina y los conteos de CPU.
  • Direcciones IP en uso: La cantidad de direcciones IP en uso en tu proyecto debe ser suficiente para adaptarse a la cantidad de instancias deseada. Para usar 10 instancias de Compute Engine, necesitarás 10 direcciones IP en uso.
  • Persistent Disk: Dataflow conecta Persistent Disk a cada instancia.
    • El tamaño de disco predeterminado es de 250 GB para trabajos por lotes y de 420 GB para canalizaciones de transmisión. De manera predeterminada, para 10 instancias necesitas 2,500 GB de disco persistente destinados a un trabajo por lotes.
    • El tamaño de disco predeterminado es de 25 GB para las canalizaciones por lotes de Dataflow Shuffle.
    • El tamaño de disco predeterminado es de 30 GB para las canalizaciones de transmisión de Streaming Engine.
  • Grupos de instancias administrados: Dataflow implementa tus instancias de Compute Engine como un grupo de instancias administrado. Deberás asegurarte de tener disponibles las siguientes cuotas relacionadas:
    • Un grupo de instancias por cada trabajo de Dataflow
    • Un grupo de instancias administradas por cada trabajo de Dataflow
    • Una plantilla de instancia por cada trabajo de Dataflow

Cuotas adicionales

Según las fuentes y los receptores que uses, es posible que necesites una cuota adicional.

  1. Pub/Sub: Si usas Pub/Sub, puede que necesites una cuota adicional. Cuando planificas la cuota, ten en cuenta que procesar 1 mensaje de Pub/Sub involucra 3 operaciones. Si usas marcas de tiempo personalizadas, debes duplicar la cantidad de operaciones esperadas, ya que Dataflow creará una suscripción independiente para hacer un seguimiento de las marcas de tiempo personalizadas.
  2. BigQuery: si usas la API de transmisión para BigQuery, se aplican límites de cuota y otras restricciones.

Límites

En esta sección se describen los límites de producción prácticos para Dataflow.

Límite Cantidad
Cantidad máxima de trabajadores por canalización. 1,000
Tamaño máximo de una solicitud de creación de trabajo. Las descripciones de canalización con varios pasos y nombres muy detallados pueden alcanzar este límite. 10 MB
Cantidad máxima de fragmentos de entradas complementarias. 20,000
Tamaño máximo para un solo valor de elemento en Streaming Engine. 100 MB
Cantidad máxima de entradas de registro por trabajador en un período determinado 15,000 mensajes cada 30 segundos