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 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 pelo menos 25 jobs simultâneos do Dataflow.
  • Cada worker do Dataflow tem um limite máximo de registros que ele pode gerar em um intervalo de tempo. Consulte a documentação de geração de registros para ver o limite exato.
  • Se você adotar as cotas no nível da organização, cada organização poderá executar pelo menos 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 os seguintes slots do Shuffle em cada região:
    • asia-east1: 48 slots
    • asia-northeast1: 24 slots
    • asia-south1: 48 slots
    • asia-southeast1: 32 slots
    • europe-west1: 160 slots
    • europe-west3: 24 slots
    • europe-west4: 128 slots
    • northamerica-northeast1: 32 slots
    • us-central1: 160 slots
    • us-east1: 160 slots
    • us-east4: 32 slots
    • us-west1: 96 slots
    • us-west2: 24 slots
    • Outras regiões: 16 slots
    160 slots são suficientes para embaralhar aproximadamente 100 TB de dados simultaneamente.
  • Cada projeto do Google Cloud recebe 600 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.
    Acessar 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 do Shuffle, localize o gráfico Slots do Shuffle na página "Cotas".
    Slots do Shuffle na página "Cotas".

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, n1-standard-2 para jobs que usam Streaming Engine e n1-standard-4 para jobs que não usam Streaming Engine. 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 400 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 é de 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.

Dataflow prime

As cotas e os limites são os mesmos para o Dataflow e o Dataflow Prime. Se você tiver cotas para o Dataflow, não precisará de cota extra para executar jobs usando o Dataflow Prime.

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. Os pipelines com muitas etapas e nomes com um nível de detalhe muito altos podem alcançar esse limite. 10 MB
O número máximo de fragmentos de entrada secundária. 20.000
O tamanho máximo para o valor de um único elemento no Streaming Engine. 100 MB
Número máximo de Entradas de registro em um determinado período por worker. 15.000 mensagens a cada 30 segundos
Número máximo de métricas personalizadas por job do Dataflow 100
Limites do Streaming Engine Valor
Máximo de bytes para mensagens do Pub/Sub. 7 MB
Tamanho máximo de uma chave grande. Chaves com mais de 64 KB reduzem o desempenho. 2 MB
Tamanho máximo das tags de estado usadas por TagValue e TagBag. 64 KB