Cuotas y límites

Cuotas

Los límites de cuota del servicio gestionado Dataflow son los siguientes:

  • Cada usuario puede realizar hasta 3.000.000 de solicitudes por minuto.
  • Cada tarea de Dataflow puede usar un máximo de 1000 instancias de Compute Engine.
  • Cada proyecto de Google Cloud puede ejecutar 25 tareas de Dataflow de manera simultánea.
  • Si habilitas las cuotas a nivel de organización, cada organización podrá ejecutar 125 tareas de Dataflow simultáneas.
  • Cada usuario puede realizar hasta 15.000 solicitudes de monitorización por minuto.
  • Cada proyecto de Google Cloud recibe 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
    • otras: 16 ranuras
    Con 160 ranuras basta para procesar con Shuffle una cantidad aproximada de 100 TB de datos al mismo tiempo.
  • Cada proyecto de Google Cloud recibe 60 GB por minuto de rendimiento de Streaming Engine en cada región en la nube, los cuales sirven para transferir datos entre instancias de Compute Engine y Streaming Engine.

Para comprobar tu uso de la cuota de Dataflow:

  1. En la consola de Google Cloud, ve a APIs y servicios.
    Ir a APIs y servicios
  2. Haz clic en Panel de control.
  3. Selecciona Dataflow API.
  4. Haz clic en Cuotas.
    Por ejemplo, para comprobar tu uso de la cuota de ranuras de Shuffle, busca el gráfico Ranuras de Shuffle en la página Cuotas.
    Ranuras de Shuffle en la página Cuotas

El servicio Dataflow utiliza varios componentes de Google Cloud, como BigQuery, Cloud Storage, Pub/Sub y Compute Engine. Tanto estos como otros servicios de Google Cloud disponen de cuotas para limitar el número máximo de recursos que puedes emplear en un proyecto. Cuando uses Dataflow, puede que debas ajustar la configuración de cuotas según los requisitos de estos servicios.

Cuotas de Compute Engine

Cuando ejecutas tu flujo de procesamiento en el servicio Dataflow, este crea instancias de Compute Engine para ejecutar el código de dicho flujo.

Las cuotas de Compute Engine se especifican según la región. Comprueba la cuota de Compute Engine que se aplica a tu proyecto y solicita los ajustes pertinentes (si procede):

  • CPUs: los tipos de máquinas predeterminadas de Dataflow son n1-standard-1 para los lotes y n1-standard-4 para el streaming. FlexRS utiliza máquinas n1-standard-2 de forma predeterminada. Durante su versión beta, FlexRS usa un 90 % de máquinas virtuales interrumpibles y un 10 % de máquinas virtuales convencionales. Para calcular el número de CPUs, Compute Engine suma el recuento total de CPUs de cada instancia. Por ejemplo, si se ejecutan 10 instancias de n1-standard-4, se contabilizarán 40 CPU. Consulta los tipos de máquinas de Compute Engine para ver cuántas CPU usa cada uno.
  • Direcciones IP en uso: en tu proyecto, debes tener un número de direcciones IP en uso suficiente como para acomodar el número de instancias que quieras utilizar. Por ejemplo, si quieres usar 10 instancias de Compute Engine, tendrás que contar con 10 direcciones IP de dicho tipo.
  • Persistent Disk: Dataflow monta discos persistentes en cada instancia.
    • El tamaño de disco predeterminado es de 250 GB para los flujos de procesamiento por lotes y de 420 GB para los de streaming. Por tanto, si quieres utilizar 10 instancias, necesitarás 2500 GB de Persistent Disk de forma predeterminada para realizar una tarea por lotes.
    • El tamaño de disco predeterminado es de 25 GB para los flujos de procesamiento por lotes de la función Shuffle de Dataflow.
    • Por otra parte, el tamaño de disco predeterminado para los flujos de procesamiento en streaming de Streaming Engine es de 30 GB.
  • Grupos de instancias gestionados: Dataflow despliega tus instancias de Compute Engine como grupo de instancias gestionado. Para ello, debes tener disponible la siguiente cuota relacionada:
    • Un grupo de instancias por cada tarea de Dataflow
    • Un grupo de instancias gestionado por cada tarea de Dataflow
    • Una plantilla de instancia por cada tarea de Dataflow

Otras cuotas

Según las fuentes y los sumideros que utilices, es posible que necesites más cuota.

  1. Pub/Sub: si utilizas este servicio, es posible que necesites más cuota. A la hora de planificarla, ten en cuenta que procesar un mensaje desde Pub/Sub implica tres operaciones. Si utilizas marcas de tiempo personalizadas, tendrás que duplicar el número esperado de operaciones, ya que Dataflow creará una suscripción independiente para hacer un seguimiento de dichas marcas de tiempo.
  2. BigQuery: si utilizas la API de streaming de BigQuery, se aplicarán límites de cuota y otras restricciones.

Límites

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

Límite Cantidad
Número máximo de trabajadores por flujo de procesamiento 1000
Tamaño máximo para las solicitudes de creación de una tarea (este límite se puede alcanzar en las descripciones de los flujos de procesamiento que incluyan muchos pasos y nombres muy detallados) 10 MB
Número máximo de fragmentos de entrada secundaria 20.000
Tamaño máximo del valor de un único elemento de Streaming Engine 100 MB