Este documento lista as quotas e os limites do sistema que se aplicam ao Dataflow.
- As quotas têm valores predefinidos, mas normalmente pode pedir ajustes.
- Os limites do sistema são valores fixos que não podem ser alterados.
A Google Cloud Platform usa quotas para ajudar a garantir a equidade e reduzir os picos na utilização e disponibilidade de recursos. Uma quota restringe a quantidade de um Google Cloud recurso que o seu Google Cloud projeto pode usar. As quotas aplicam-se a uma variedade de tipos de recursos, incluindo componentes de hardware, software e rede. Por exemplo, as quotas podem restringir o número de chamadas API para um serviço, o número de balanceadores de carga usados em simultâneo pelo seu projeto ou o número de projetos que pode criar. As quotas protegem a comunidade de Google Cloud utilizadores, impedindo a sobrecarga dos serviços. As quotas também ajudam a gerir os seus próprios Google Cloud recursos.
O sistema de quotas da nuvem faz o seguinte:
- Monitoriza o seu consumo de Google Cloud produtos e serviços
- Restringe o seu consumo desses recursos
- Oferece uma forma de pedir alterações ao valor da quota e automatizar os ajustes de quotas
Na maioria dos casos, quando tenta consumir mais de um recurso do que a respetiva quota permite, o sistema bloqueia o acesso ao recurso e a tarefa que está a tentar realizar falha.
Geralmente, as quotas aplicam-se ao nível do Google Cloud projeto A sua utilização de um recurso num projeto não afeta a sua quota disponível noutro projeto. Num Google Cloud projeto, as quotas são partilhadas por todas as aplicações e endereços IP.
Para mais informações, consulte a vista geral das quotas da nuvem.Para ajustar a maioria das quotas, use a Google Cloud consola. Para mais informações, consulte o artigo Peça um ajuste da quota.
Também existem limites do sistema nos recursos do Dataflow. Não é possível alterar os limites do sistema.
O serviço gerido do Dataflow tem as seguintes quotas e limites:
- Cada projeto da Google Cloud Platform pode fazer até 3 000 000 de pedidos por minuto.
- Cada tarefa do Dataflow pode usar um máximo de 2000 instâncias do Compute Engine. Sem especificar uma zona de trabalho, cada tarefa de streaming que use o Streaming Engine ou tarefa em lote que use o Dataflow baseado em serviços aleatórios pode usar um máximo de 4000 instâncias do Compute Engine.
- Por predefinição, cada projeto da Google Cloud Platform pode executar, no máximo, 25 tarefas do Dataflow em simultâneo.
- Cada trabalhador do Dataflow tem um limite máximo de registos que pode gerar num intervalo de tempo. Consulte a documentação de registo para ver o limite exato.
- Se aceitar as quotas ao nível da organização, cada organização pode executar, por predefinição, no máximo 125 tarefas do Dataflow simultâneas.
- Cada utilizador pode fazer até 15 000 pedidos de monitorização por minuto.
- Cada utilizador pode fazer até 60 pedidos de criação de tarefas por minuto.
- Cada utilizador pode fazer até 60 pedidos de modelos de tarefas por minuto.
- Cada utilizador pode fazer até 60 pedidos de atualização de tarefas por minuto.
- Cada projeto da Google Cloud Platform recebe os seguintes espaços de aleatorização em cada região:
- asia-east1: 48 slots
- asia-northeast1: 24 ranhuras
- asia-northeast3: 32 slots
- asia-south1: 64 slots
- asia-southeast1: 64 ranhuras
- austrália-sudeste1: 24 ranhuras
- europe-west1: 640 slots
- europe-west2: 32 slots
- europe-west3: 40 espaços
- europe-west4: 640 slots
- northamerica-northeast1: 512 espaços
- us-central1: 640 espaços
- us-east1: 640 espaços
- us-east4: 64 espaços
- us-west1: 384 slots
- us-west2: 24 espaços
- us-west3: 24 slots
- outros: 16 ranhuras
- As tarefas em lote do Dataflow são canceladas após 10 dias.
Quotas do Compute Engine
Quando executa o pipeline no serviço Dataflow, o Dataflow cria instâncias do Compute Engine para executar o código do pipeline.
A quota do Compute Engine é especificada por região. Reveja a quota do Compute Engine do seu projeto e peça os seguintes ajustes, se necessário:
- CPUs: nas seguintes regiões, os tipos de máquinas predefinidos para o Dataflow
são
n1-standard-1
para o processamento em lote,n1-standard-2
para tarefas que usam o Streaming Engine,n1-standard-4
para tarefas de streaming que não usam o Streaming Engine en1-standard-2
para tarefas que usam o agendamento flexível de recursos (FlexRS). FlexRS usa 90% de VMs preemptivas e 10% de VMs normais.asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-south2
asia-southeast1
asia-southeast2
australia-southeast1
australia-southeast2
europe-central2
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west5
europe-west6
northamerica-northeast1
northamerica-northeast2
southamerica-east1
us-central1
us-central2
us-east1
us-east4
us-west1
us-west2
us-west3
us-west4
Para outras regiões, os tipos de máquinas predefinidos são
e2-standard-2
para o processamento em lote,e2-standard-2
para tarefas que usam o Streaming Engine,e2-standard-4
para tarefas de streaming que não usam o Streaming Engine ee2-standard-2
para tarefas que usam o FlexRS.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. Para ver um mapeamento dos tipos de máquinas para a quantidade de CPUs, consulte Tipos de máquinas do Compute Engine. - Endereços IP em utilização: o número de endereços IP em utilização no seu projeto tem de ser suficiente para acomodar o número desejado de instâncias. Para usar 10 instâncias do Compute Engine, precisa de 10 endereços IP em utilização.
- Disco persistente: o Dataflow anexa um disco persistente a cada instância.
- O espaço em disco predefinido é de 250 GB para pipelines em lote e de 400 GB para pipelines de streaming. Para 10 instâncias, por predefinição,precisa de 2500 GB de disco persistente para uma tarefa em lote.
- O espaço em disco predefinido é de 25 GB para pipelines em lote do Dataflow Shuffle.
- O espaço em disco predefinido é de 30 GB para pipelines de streaming do Streaming Engine.
- Atualmente, o serviço Dataflow está limitado a 15 discos persistentes por instância de worker quando executa uma tarefa de streaming. Cada disco persistente é local para uma máquina virtual do Compute Engine individual. Uma relação de 1:1 entre trabalhadores e discos é a atribuição mínima de recursos.
- A utilização do Compute Engine baseia-se no número médio de trabalhadores, enquanto a utilização do Persistent Disk se baseia no valor exato de
--maxNumWorkers
. Os discos persistentes são redistribuídos de forma que cada trabalhador tenha um número igual de discos anexados.
- Grupos de instâncias geridas regionais: o Dataflow implementa as suas instâncias do Compute Engine como um grupo de instâncias geridas regional. Tem de
garantir que tem a seguinte quota relacionada disponível:
- Um grupo de instâncias por tarefa do Dataflow
- Um modelo de instância por tarefa do Dataflow
- Um grupo de instâncias geridas regional por tarefa do Dataflow
- Se os grupos de instâncias geridos estiverem em falta para uma tarefa de streaming durante mais de 7 dias, a tarefa é cancelada.
- Se os grupos de instâncias geridos estiverem em falta para um trabalho em lote durante mais de 1 hora, o trabalho é cancelado.
Quotas adicionais
Consoante as origens e os destinos que estiver a usar, também pode precisar de quota adicional.
- Pub/Sub: se estiver a usar o Pub/Sub, pode precisar de quota adicional. Ao planear a quota, tenha em atenção que o processamento de 1 mensagem do Pub/Sub envolve 3 operações. Se usar datas/horas personalizadas, deve duplicar o número esperado de operações, uma vez que o Dataflow cria uma subscrição separada para acompanhar as datas/horas personalizadas.
- BigQuery: se estiver a usar a API de streaming para o BigQuery, aplicam-se limites de quota e outras restrições.
Encontre e aumente as quotas
Pode verificar a sua utilização atual da quota específica do Dataflow:
- Na Google Cloud consola, aceda a APIs e serviços.
Aceda a API & Services (API e serviços) - Para verificar a utilização atual da quota de Shuffle slots, no separador Quotas, encontre a linha Shuffle slots na tabela e, na coluna Gráfico de utilização, clique em Mostrar gráfico de utilização.
Se quiser aumentar a sua quota de tarefas, contacte o Apoio técnico da Google Cloud Platform e aumentaremos o limite para um valor que se adequa melhor às suas necessidades. A quota predefinida é de 25 tarefas do Dataflow simultâneas para o seu projeto ou 125 tarefas do Dataflow simultâneas para a sua organização.
Além disso, pode aumentar a quota de ranhuras aleatórias para tarefas em lote enviando um pedido de apoio técnico e especificando o tamanho máximo esperado do conjunto de dados aleatório simultâneo para todas as tarefas no seu projeto. Antes de pedir uma quota de Shuffle adicional, execute o pipeline com o Dataflow Shuffle e verifique a utilização real da quota de Shuffle.
Para tarefas de streaming, pode aumentar o débito do Streaming Engine enviando um pedido de apoio técnico ao apoio técnico da Google Cloud Platform. No seu pedido, especifique a quantidade máxima de dados que quer misturar entre os trabalhadores a cada minuto para cada região em que a sua tarefa é executada.
O serviço Dataflow também usa vários componentes da Google Cloud, como o BigQuery, o Cloud Storage, o Pub/Sub, e o Compute Engine. Estes (e outros Google Cloud serviços) usam quotas para limitar o número máximo de recursos que pode usar num projeto. Quando usa o Dataflow, pode ter de ajustar as definições de quota destes serviços.
Dataflow Prime
As quotas e os limites são os mesmos para o Dataflow e o Dataflow Prime. Se tiver quotas para o Dataflow, não precisa de quota adicional para executar os seus trabalhos com o Dataflow Prime.
Limites
Esta secção descreve os limites de produção práticos para o Dataflow.
Limite | Montante |
---|---|
Número máximo de trabalhadores por pipeline. | 2000 |
Tamanho máximo de um pedido de criação de tarefa. As descrições de pipelines com muitos passos e nomes muito detalhados podem atingir este limite. | 10 MB |
Tamanho máximo de um pedido de lançamento de modelo. | 1 MB |
Número máximo de fragmentos de entrada lateral. | 20 000 |
Tamanho máximo para um único elemento (exceto quando se aplicam condições mais rigorosas, por exemplo, o Streaming Engine). | 2 GB |
Tamanho máximo da chave em pipelines em lote. | 1,5 MB |
Número máximo de entradas de registo num determinado período, por trabalhador. | 15 000 mensagens a cada 30 segundos |
Número máximo de métricas personalizadas por projeto. | 100 |
Período durante o qual as recomendações são armazenadas. | 30 dias |
Limites do motor de streaming | Montante |
---|---|
Número máximo de bytes para mensagens do Pub/Sub. | 7 MB |
Tamanho máximo para um único valor de elemento. | 80 MB |
Tamanho máximo de uma tecla grande. As chaves com mais de 64 KB causam uma diminuição do desempenho. | 2 MB |
Tamanho máximo para uma entrada lateral. | 80 MB |
Comprimento máximo das etiquetas de estado usadas por TagValue e TagBag . |
64 KB |