Cotas e limites

Cotas

O serviço gerenciado do Dataflow tem os limites de cota a seguir:

  • Cada usuário pode fazer até 3.000.000 de solicitações por minuto.
  • Cada job do Dataflow pode usar no máximo 1.000 instâncias do Compute Engine.
  • Cada projeto do Google Cloud pode executar 100 jobs simultâneos do Dataflow.
  • Se você optar pelas cotas no nível da organização, cada organização poderá executar 125 jobs simultâneos do Dataflow.
  • Cada usuário pode fazer até 15.000 solicitações de monitoramento por minuto.
  • Cada projeto do Google Cloud recebe 160 slots do Shuffle, suficientes para embaralhar cerca de 100 TB de dados simultaneamente.
  • Cada projeto do Google Cloud recebe 60 GB por minuto por região de nuvem da capacidade do Streaming Engine para enviar dados entre as instâncias do Compute Engine e o Streaming Engine.

Veja como verificar o uso atual da cota específica do Dataflow:

  1. No Console do Google Cloud, acesse APIs e serviços.
    Acesse APIs e serviços
  2. Clique em Painel.
  3. Clique em API Dataflow.
  4. Clique em Cotas.
    Por exemplo, para verificar o uso atual da cota de slots de Shuffle, localize o gráfico de slots na página "Cotas".
    Slots do Shuffle na página

O serviço do Dataflow usa vários componentes do Google Cloud, como BigQuery, Cloud Storage, Pub/Sub e Compute Engine. Esses e outros serviços do Google Cloud usam cotas para determinar o número máximo de recursos que podem ser usados dentro de um projeto. Quando você usar o Dataflow, talvez seja necessário ajustar as configurações de cota para esses serviços.

Cotas do Compute Engine

Quando você executa seu pipeline no serviço do Dataflow, ele cria instâncias do Compute Engine para executar o código do pipeline.

A cota do Compute Engine é especificada por região. Verifique a cota do Compute Engine no seu projeto e solicite os ajustes abaixo, se necessário:

  • CPUs: os tipos de máquina padrão do Dataflow são n1-standard-1 para lote e n1-standard-4 para streaming. O FlexRS usa máquinas n1-standard-2 por padrão. Durante a versão Beta, o FlexRS usa 90% de VMs preemptivas e 10% de VMs comuns. O Compute Engine calcula o número de CPUs somando a contagem total de CPUs de cada instância. Por exemplo, a execução de 10 instâncias n1-standard-4 conta como 40 CPUs. Consulte Tipos de máquina do Compute Engine para um mapeamento dos tipos de máquinas em relação ao número de CPUs.
  • Endereços IP em uso: o número de endereços IP em uso no projeto precisa ser suficiente para acomodar a quantidade desejada de instâncias. Para usar 10 instâncias do Compute Engine, você precisa de 10 endereços IP em uso.
  • Disco permanente: o Dataflow anexa um disco permanente a cada instância.
    • O tamanho de disco padrão é de 250 GB para lote e 420 GB para pipelines de streaming. Para 10 instâncias, por padrão, você precisa de 2.500 GB de disco permanente para um job em lote.
    • O tamanho de disco padrão é de 25 GB para os pipelines em lote do Dataflow Shuffle.
    • O tamanho de disco padrão é 30 GB para pipelines de streaming do Streaming Engine.
  • Grupos de instâncias gerenciadas: o Dataflow implanta as instâncias do Compute Engine como um grupo de instâncias gerenciadas. Você precisa verificar se as cotas relacionadas a seguir estão disponíveis:
    • um grupo de instâncias por job do Dataflow
    • um grupo de instâncias gerenciadas por job do Dataflow
    • um modelo de instância por job do Dataflow

Cotas extras

Dependendo das origens e dos coletores usados, talvez você também precise de cotas extras.

  1. Pub/Sub: se estiver usando o Pub/Sub, talvez você precise de mais cota. Ao planejar a cota, observe que o processamento de uma mensagem do Pub/Sub envolve três operações. Se você usar carimbos de data/hora personalizados, será preciso dobrar o número esperado de operações, já que o Dataflow cria uma inscrição separada para rastreá-los.
  2. BigQuery: se estiver usando a API de streaming para BigQuery, serão aplicados limites de cota e outras restrições.

Limites

Nesta seção, você encontra os limites de produção práticos do Dataflow.

Limite Valor
O número máximo de workers por pipeline. 1.000
O tamanho máximo para uma solicitação de criação de job. As descrições de canal com muitas etapas e nomes muito detalhados podem atingir esse limite. 10 MB
O número máximo de fragmentos de entrada secundária. 20.000
O tamanho máximo do valor de um único elemento no Streaming Engine. 100 MB