Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, explicamos como ajustar os parâmetros de escalonamento e desempenho do seu ambiente às necessidades do seu projeto, para que você consiga um melhor desempenho e reduza os custos dos recursos que não são utilizados pelo seu ambiente.
Outras páginas sobre escalonamento e otimização:
- Para mais informações sobre o escalonamento de ambientes, consulte Ambientes de escala.
- Para mais informações sobre como o escalonamento do ambiente funciona, consulte Escalonamento do ambiente.
- Para um tutorial sobre como monitorar as principais métricas do ambiente, consulte Monitorar a integridade e o desempenho do ambiente com as principais métricas.
Visão geral do processo de otimização
Fazer alterações nos parâmetros do ambiente pode afetar muitos aspectos do desempenho. Recomendamos otimizar o ambiente nas iterações:
- Comece com as predefinições de ambiente.
- Execute os DAGs.
- Observe o desempenho do ambiente.
- Ajuste a escala do ambiente e os parâmetros de desempenho. Depois, repita as etapas anteriores.
Começar com predefinições de ambiente
Ao criar um ambiente no console do Google Cloud, você pode selecionar uma das três predefinições de ambiente. Essas predefinições definem a configuração inicial de escalonamento e desempenho do ambiente. Depois de criar o ambiente, é possível alterar todos os parâmetros de escala e desempenho fornecidos por uma predefinição.
Recomendamos começar com uma das predefinições, com base nas seguintes estimativas:
- Número total de DAGs que você planeja implantar no ambiente
- Número máximo de execuções simultâneas de DAGs
- Número máximo de tarefas simultâneas
O desempenho do ambiente depende da implementação de DAGs específicos executados no ambiente. Veja na tabela a seguir as estimativas baseadas no consumo médio de recursos. Se você espera que seus DAGs consumam mais recursos, ajuste as estimativas conforme necessário.
Predefinição recomendada | Total de DAGs | Máximo de execuções simultâneas de DAG | Máximo de tarefas simultâneas |
---|---|---|---|
Pequeno | 50 | 15 | 18 |
Média | 250 | 60 | 100 |
Grande | 1000 | 250 | 400 |
Por exemplo, um ambiente precisa executar 40 DAGs. Todos os DAGs precisam ser executados ao mesmo tempo, com uma tarefa ativa cada. Esse ambiente usaria uma predefinição média, porque o número máximo de execuções simultâneas de DAGs e tarefas excede as estimativas recomendadas para a predefinição pequena.
Executar seus DAGs
Depois que seu ambiente for criado, faça upload dos DAGs para ele. Execute seus DAGs e observe o desempenho do ambiente.
Recomendamos executar os DAGs em uma programação que reflita a aplicação real dos DAGs. Por exemplo, se você quiser executar vários DAGs ao mesmo tempo, verifique o desempenho do seu ambiente quando todos esses DAGs estão sendo executados simultaneamente.
Observar o desempenho do seu ambiente
Esta seção se concentra nos aspectos mais comuns de ajuste de desempenho e capacidade do Cloud Composer 2. Recomendamos seguir este guia passo a passo, porque as considerações de desempenho mais comuns são abordadas primeiro.
Acessar o painel do Monitoring
É possível monitorar as métricas de desempenho do ambiente no painel do Monitoring.
Para acessar o painel do Monitoring do seu ambiente:
No console do Google Cloud, acesse a página Ambientes.
Clique no nome do seu ambiente.
Acesse a guia Monitoramento.
Monitorar as métricas de CPU e memória do programador
As métricas de CPU e memória do programador do Airflow ajudam a verificar se o desempenho do programador é um gargalo no desempenho geral do Airflow.
No painel do Monitoring, na seção Programadores, observe os gráficos dos programadores do Airflow do seu ambiente:
- Uso total de CPU pelos programadores
- Uso total de memória pelos programadores
Ajuste de acordo com suas observações:
Se o uso da CPU do Scheduler estiver abaixo de 30% a 35%, convém:
Se o uso da CPU do Scheduler exceder 80% por mais de uma porcentagem no tempo total, você pode:
Monitorar o tempo total de análise de todos os arquivos DAG
Os programadores analisam DAGs antes de programar execuções do DAG. Se a análise dos DAGs demorar muito, isso consumirá a capacidade do programador e poderá reduzir o desempenho das execuções do DAG.
No painel do Monitoring, na seção Estatísticas do DAG, observe os gráficos de o tempo total de análise do DAG.
Se o número exceder cerca de 10 segundos, seus programadores estarão sobrecarregados com a análise do DAG e não poderão executar DAGs de maneira eficaz. A frequência padrão de análise de DAGs no Airflow é de 30 segundos; se o tempo de análise do DAG exceder esse limite, os ciclos de análise começam a se sobrepor, o que esgota a capacidade do programador.
De acordo com as observações, convém:
- Simplifique seus DAGs, incluindo as dependências do Python.
- Aumente o intervalo de análise do arquivo DAG e aumente o intervalo de listagem do diretório do DAG.
- Aumente o número de programadores.
- Aumente a CPU dos programadores.
Monitorar remoções de pods de workers
A remoção de pods pode acontecer quando um determinado pod no cluster do ambiente atinge os limites de recursos.
Se um pod de worker do Airflow for removido, todas as instâncias de tarefas em execução nele serão interrompidas e, posteriormente, marcadas como com falha pelo Airflow.
A maioria dos problemas com remoções de pods de workers acontece devido a situações de falta de memória nos workers.
Na seção Workers do painel do Monitoring, observe os gráficos de pods de workers para seu ambiente.
O gráfico Uso total de memória de workers mostra uma perspectiva total do ambiente. Um único worker ainda pode exceder o limite de memória, mesmo que a utilização da memória esteja íntegra no nível do ambiente.
De acordo com as observações, convém:
- Aumente a memória disponível para os workers.
- Reduzir a simultaneidade do worker Dessa forma, um único worker processa menos tarefas de uma só vez. Isso proporciona mais memória ou armazenamento para cada tarefa individual. Se você alterar a simultaneidade do worker, também poderá aumentar o número máximo de workers. Dessa forma, o número de tarefas que seu ambiente pode processar de uma só vez permanece o mesmo. Por exemplo, se você reduzir a simultaneidade do worker de 12 para 6, talvez seja necessário dobrar o número máximo de workers.
Monitorar workers ativos
O número de workers no ambiente é escalonado automaticamente em resposta às tarefas na fila.
No painel do Monitoring, na seção Workers, observe os gráficos do número de workers ativos e o número de tarefas na fila:
- Workers ativos
- Tarefas do Airflow
Ajuste de acordo com suas observações:
- Se o ambiente costuma atingir o limite máximo de workers e ao mesmo tempo, o número de tarefas na fila do Celery é continuamente alto, é possível aumentar o número máximo de workers.
Se houver longos atrasos de programação entre tarefas, mas ao mesmo tempo o ambiente não for escalonado para o número máximo de workers, provavelmente há uma configuração do Airflow que limita o ambiente. e impede que mecanismos do Cloud Composer escalone o ambiente. Como os ambientes do Cloud Composer 2 são escalonados com base no número de tarefas na fila do Celery, configure o Airflow para não limitar tarefas a caminho:
- Aumente a simultaneidade do worker. A simultaneidade do worker precisa ser definida como um valor maior que o número máximo esperado de tarefas simultâneas, dividido pelo número máximo de workers no ambiente.
- Aumente a simultaneidade do DAG, se um único DAG estiver executando um grande número de tarefas em paralelo, o que pode fazer com que você atinja o número máximo de instâncias de tarefa em execução por DAG.
- Aumentar o máximo de execuções ativas por DAG, se você executar o mesmo DAG várias vezes em paralelo, o que pode levar à limitação do Airflow porque a quantidade máxima de execuções ativas por DAG é alcançado.
Monitorar o uso de CPU e memória dos workers
Monitore o uso total de CPU e memória agregado em todos os workers do ambiente para determinar se os workers do Airflow usam os recursos do ambiente corretamente.
No painel do Monitoring, na seção Workers, observe os gráficos de uso da CPU e da memória pelos workers do Airflow:
- Uso total da CPU pelos workers
- Uso total da memória de workers
Este gráfico representa o uso de recursos agregados, workers individuais ainda podem alcançar os limites de capacidade, mesmo que a visualização agregada mostre a capacidade extra.
Ajuste de acordo com suas observações:
- Se o uso da memória dos workers se aproximar do limite, isso poderá causar remoções de pods de workers. Para solucionar esse problema, aumente a memória do worker.
- Se o uso da memória for mínimo em comparação com o limite e não houver remoções de pods de workers, convém diminuir a memória dos workers.
Se o uso de CPU dos workers se aproximar do limite (excede 80% por mais de uma porcentagem do tempo total), convém:
- Aumente o número de workers. Isso dá ao ambiente mais controle sobre a capacidade provisionada para uma carga de trabalho específica.
- Aumente a CPU dos workers ou reduza a simultaneidade do worker se tarefas individuais precisarem de maior alocação de CPU. Caso contrário, recomendamos aumentar o número de workers.
Monitorar tarefas em execução e na fila
É possível monitorar o número de tarefas enfileiradas e em execução para verificar a eficiência do processo de programação.
No painel do Monitoring, na seção Workers, observe o gráfico Tarefas do Airflow do seu ambiente.
As tarefas na fila estão aguardando para serem executadas pelos workers. Se o ambiente tiver tarefas enfileiradas, isso pode significar que os workers do ambiente estão ocupados executando outras tarefas.
Algumas filas estão sempre presentes em um ambiente, especialmente durante picos de processamento. No entanto, se você observar um alto número de tarefas na fila ou uma tendência crescente no gráfico, isso pode indicar que os workers não têm capacidade suficiente para processar as tarefas ou que o Airflow está acelerado. execução de tarefas.
Geralmente, um alto número de tarefas em fila é observado quando o número de tarefas em execução também atinge o nível máximo.
Para solucionar os dois problemas, faça o seguinte:
Monitorar o uso de CPU e memória do banco de dados
Problemas de desempenho do banco de dados do Airflow podem levar a problemas gerais de execução do DAG. O uso do disco do banco de dados geralmente não é uma preocupação porque o armazenamento é estendido automaticamente conforme necessário.
No painel do Monitoring, na seção Banco de dados SQL, observe os gráficos de uso da CPU e da memória pelo banco de dados do Airflow:
- Uso de CPU do banco de dados
- Uso da memória do banco de dados
Se o uso de CPU do banco de dados exceder 80% por mais de alguns% do tempo total, o banco de dados estará sobrecarregado e exigirá escalonamento.
Essas configurações são controladas pela propriedade de tamanho do ambiente. Para fazer isso, altere o tamanho do ambiente para um nível diferente (pequeno, médio ou grande). Aumentar o tamanho do ambiente aumenta os custos dele.
Monitorar a latência da programação de tarefas
Se a latência entre as tarefas exceder os níveis esperados (por exemplo, 20 segundos ou mais), isso pode indicar que o ambiente não pode processar a carga de tarefas geradas pelas execuções de DAG.
É possível visualizar o gráfico de latência da programação de tarefas na IU do Airflow do seu ambiente.
Nesse exemplo, atrasos (2,5 e 3,5 segundos) estão dentro dos limites aceitáveis, mas latências significativamente maiores podem indicar que:
- O programador está sobrecarregado. Monitore a CPU e a memória do programador para ver sinais de possíveis problemas.
- As opções de configuração do Airflow estão limitando a execução. Tente aumentar a simultaneidade do worker, aumentar a simultaneidade do DAG ou aumentar o número máximo de execuções ativas por DAG.
- Não há workers suficientes para executar tarefas. Tente aumentar o número máximo de workers.
Monitorar a CPU e a memória do servidor da Web
O desempenho do servidor da Web do Airflow afeta a IU do Airflow. Não é comum que o servidor da Web seja sobrecarregado. Se isso acontecer, o desempenho da IU do Airflow poderá deteriorar, mas isso não afetará as execuções do DAG.
No painel do Monitoring, na seção Servidor da Web, observe os gráficos do servidor da Web do Airflow:
- Uso de CPU do servidor da Web
- Uso da memória do servidor da Web
Com base nas suas observações:
- Se o uso de CPU do servidor da Web estiver acima de 80% por mais de um percentual, considere aumentar a CPU do servidor da Web.
- Se você observar um alto uso da memória do servidor da Web, considere adicionando mais memória ao servidor da Web.
Ajustar os parâmetros de escalonamento e desempenho do ambiente
Alterar o número de programadores
Ajustar o número de programadores melhora a capacidade do programador e a resiliência da programação do Airflow.
Se você aumentar o número de programadores, o tráfego também aumentará para do banco de dados do Airflow. Recomendamos o uso de dois programadores do Airflow na maioria dos casos. O uso de três programadores é necessário apenas em casos raros que exigem considerações especiais. Configurar mais de três programadores com frequência leva a um desempenho mais baixo do ambiente.
Se você precisar de uma programação mais rápida:
- Configure dois programadores do Airflow.
- Atribua mais recursos de CPU e memória aos programadores do Airflow.
- Aumentar dag-dir-list-interval
- Aumentar min-file-process-interval
- Aumente job-heartbeat-sec
Exemplos:
Console
Siga as etapas em Ajustar o número de programadores para definir o número necessário de programadores para seu ambiente.
gcloud
Siga as etapas em Ajustar o número de programadores para definir o número necessário de programadores para seu ambiente.
O exemplo a seguir define o número de programadores como dois:
gcloud composer environments update example-environment \
--scheduler-count=2
Terraform
Siga as etapas em Ajustar o número de programadores para definir o número necessário de programadores para seu ambiente.
O exemplo a seguir define o número de programadores como dois:
resource "google_composer_environment" "example-environment" {
# Other environment parameters
config {
workloads_config {
scheduler {
count = 2
}
}
}
}
Como alterar a CPU e a memória para programadores
Os parâmetros de CPU e memória são para cada programador no ambiente. Por exemplo, se seu ambiente tiver dois programadores, a capacidade total será duas vezes o número especificado de CPU e memória.
Console
Siga as etapas em Ajustar os parâmetros de escalonamento e desempenho do worker, programador e servidor da Web para definir a CPU e a memória para os programadores.
gcloud
Siga as etapas em Ajustar os parâmetros de desempenho e escalonamento do worker, programador e servidor da Web para definir a CPU e a memória para programadores.
O exemplo a seguir altera a CPU e a memória dos programadores. Só é possível especificar atributos de CPU ou memória, dependendo da necessidade.
gcloud composer environments update example-environment \
--scheduler-cpu=0.5 \
--scheduler-memory=3.75
Terraform
Siga as etapas em Ajustar os parâmetros de escalonamento e desempenho do worker, programador e servidor da Web para definir a CPU e a memória para os programadores.
O exemplo a seguir altera a CPU e a memória dos programadores. É possível omitir atributos de CPU ou memória, dependendo da necessidade.
resource "google_composer_environment" "example-environment" {
# Other environment parameters
config {
workloads_config {
scheduler {
cpu = "0.5"
memory_gb = "3.75"
}
}
}
}
Alterar o número máximo de workers
Aumentar o número máximo de workers permite que o ambiente seja escalonado automaticamente para um número maior de workers, se necessário.
Diminuir o número máximo de workers reduz a capacidade máxima do ambiente, mas também pode ser útil para reduzir os custos do ambiente.
Exemplos:
Console
Siga as etapas em Ajustar o número mínimo e máximo de workers para definir o número máximo necessário para o ambiente.
gcloud
Siga as etapas em Ajustar o número mínimo e máximo de workers para definir o número máximo necessário para o ambiente.
O exemplo a seguir define o número máximo de workers como seis:
gcloud composer environments update example-environment \
--max-workers=6
Terraform
Siga as etapas em Ajustar o número mínimo e máximo de workers para definir o número máximo necessário para o ambiente.
O exemplo a seguir define o número máximo de programadores como seis:
resource "google_composer_environment" "example-environment" {
# Other environment parameters
config {
workloads_config {
worker {
max_count = "6"
}
}
}
}
Alterar CPU e memória do worker
Isso pode ser útil quando o gráfico de uso do worker indica uma utilização de memória muito baixa.
O aumento da memória do worker permite que os workers gerenciem mais tarefas ao mesmo tempo ou que façam uso intensivo da memória. Isso pode resolver o problema de remoções de pods de workers.
Diminuir a CPU do worker pode ser útil quando o gráfico de uso da CPU do worker indica que os recursos da CPU estão altamente alocados.
O aumento da CPU permite que os workers processem mais tarefas simultaneamente e, em alguns casos, reduza o tempo necessário para processar essas tarefas.
Alterar a CPU ou a memória do worker reinicia os workers, o que pode afetar as tarefas em execução. Recomendamos fazer isso quando nenhum DAG está em execução.
Os parâmetros de CPU e memória são para cada worker no ambiente. Por exemplo, se o ambiente tiver quatro workers, a capacidade total será quatro vezes o número especificado de CPU e memória.
Console
Siga as etapas em Ajustar os parâmetros de escalonamento e desempenho do worker, programador e servidor da Web para definir a CPU e a memória para os workers.
gcloud
Siga as etapas em Ajustar os parâmetros de desempenho e escalonamento do worker, programador e servidor da Web para definir a CPU e a memória dos workers.
O exemplo a seguir altera a CPU e a memória dos workers. É possível omitir o atributo de CPU ou memória, se necessário.
gcloud composer environments update example-environment \
--worker-memory=3.75 \
--worker-cpu=2
Terraform
Siga as etapas em Ajustar os parâmetros de escalonamento e desempenho do worker, programador e servidor da Web para definir a CPU e a memória para os workers.
O exemplo a seguir altera a CPU e a memória dos workers. É possível omitir o parâmetro de CPU ou memória, se necessário.
resource "google_composer_environment" "example-environment" {
# Other environment parameters
config {
workloads_config {
worker {
cpu = "2"
memory_gb = "3.75"
}
}
}
}
Alterar a CPU e a memória do servidor da Web
Diminuir a CPU ou a memória do servidor da Web pode ser útil quando o gráfico de uso do servidor da Web indica que ele está sendo subutilizado continuamente.
Alterar os parâmetros do servidor da Web reinicia o servidor da Web, causando uma inatividade temporária do servidor. Recomendamos que você faça alterações fora desse período.
Console
Siga as etapas em Ajustar parâmetros de escala e desempenho do worker, programador e servidor da Web para definir a CPU e a memória para o servidor da Web.
gcloud
Siga as etapas em Ajustar os parâmetros de desempenho e escalonamento de worker, programador e servidor da Web para definir a CPU e a memória para o servidor da Web.
O exemplo a seguir altera a CPU e a memória do servidor da Web. É possível omitir atributos de CPU ou memória, dependendo da necessidade.
gcloud composer environments update example-environment \
--web-server-cpu=2 \
--web-server-memory=3.75
Terraform
Siga as etapas em Ajustar parâmetros de escala e desempenho do worker, programador e servidor da Web para definir a CPU e a memória para o servidor da Web.
O exemplo a seguir altera a CPU e a memória do servidor da Web. É possível omitir atributos de CPU ou memória, dependendo da necessidade.
resource "google_composer_environment" "example-environment" {
# Other environment parameters
config {
workloads_config {
web_server {
cpu = "2"
memory_gb = "3.75"
}
}
}
}
Alterar o tamanho do ambiente
Alterar o tamanho do ambiente modifica a capacidade dos componentes de back-end do Cloud Composer, como o banco de dados e a fila do Airflow.
- Considere alterar o tamanho do ambiente para um tamanho menor (por exemplo, grande, médio ou médio) quando as métricas de uso do banco de dados mostrarem uma subutilização significativa.
Aumente o tamanho do ambiente se você observar o uso elevado do banco de dados do Airflow.
Console
Siga as etapas em Ajustar o tamanho do ambiente.
gcloud
Siga as etapas em Ajustar o tamanho do ambiente.
O exemplo a seguir altera o tamanho do ambiente para Média.
gcloud composer environments update example-environment \
--environment-size=medium
Terraform
Siga as etapas em Ajustar o tamanho do ambiente.
O exemplo a seguir altera o tamanho do ambiente para Média.
resource "google_composer_environment" "example-environment" {
# Other environment parameters
config {
environment_size = "medium"
}
}
Como alterar o intervalo da listagem do diretório do DAG
Aumentar o intervalo de listagem do diretório do DAG reduz a carga do programador associada à descoberta de novos DAGs no bucket do ambiente.
- Aumente esse intervalo se você não implantar novos DAGs com frequência.
- Diminua esse intervalo se quiser que o Airflow reaja mais rapidamente aos arquivos DAG recém-implantados.
Para alterar esse parâmetro, modifique a seguinte opção de configuração do Airflow:
Seção | Chave | Valor | Observações |
---|---|---|---|
scheduler |
dag_dir_list_interval |
Novo valor para o intervalo da ficha da empresa. | O valor padrão, em segundos, é 120 . |
Como alterar o intervalo de análise do arquivo DAG
Aumentar o intervalo de análise de arquivos do DAG reduz a carga do programador associada à análise contínua de DAGs no pacote do DAG.
Aumente esse intervalo quando você tiver um número alto de DAGs que não mudam com muita frequência ou observar uma carga alta do programador em geral.
Para alterar esse parâmetro, modifique a seguinte opção de configuração do Airflow:
Seção | Chave | Valor | Observações |
---|---|---|---|
scheduler |
min_file_process_interval |
Novo valor para o intervalo de análise do DAG | O valor padrão, em segundos, é 30 . |
Simultaneidade de worker
A performance de simultaneidade e a capacidade de escalonamento automático do ambiente estão conectadas a duas configurações:
- o número mínimo de workers do Airflow
- o parâmetro
[celery]worker_concurrency
Os valores padrão fornecidos pelo Cloud Composer são ideais na maioria dos casos de uso, mas seu ambiente pode se beneficiar ajustes personalizados.
Considerações sobre o desempenho da simultaneidade de worker
O parâmetro [celery]worker_concurrency
define o número de tarefas
que um único worker pode receber da fila de tarefas.
A velocidade de execução da tarefa depende de vários fatores, como a CPU do worker, a memória
e o tipo de trabalho.
Escalonamento automático de workers
O Cloud Composer monitora a fila de tarefas e gera workers adicionais para
e pegar as tarefas em espera. Definir [celery]worker_concurrency
como um valor alto
significa que cada worker pode escolher muitas tarefas. Portanto, em determinadas circunstâncias,
a fila pode nunca ficar cheia, fazendo com que o escalonamento automático nunca seja acionado.
Por exemplo, em um ambiente do Cloud Composer com dois workers do Airflow,
[celery]worker_concurrency
definido como 100 e tarefas 200 na fila,
cada funcionário selecionaria 100 tarefas. Isso deixa a fila vazia e não aciona o escalonamento automático. Se essas tarefas demorarem muito para serem concluídas, isso poderá causar problemas de desempenho.
No entanto, se as tarefas forem pequenas e rápidas de executar, um valor alto na
configuração [celery]worker_concurrency
poderá levar a um escalonamento excessivo.
Por exemplo, se esse ambiente tiver 300 tarefas na fila,
o Cloud Composer vai começar a criar novos workers. No entanto, se as primeiras
200 tarefas terminarem a execução quando os novos workers estiverem prontos, um worker
já existente poderá coletá-las. O resultado final é que o escalonamento automático cria novos workers, mas
não há tarefas para eles.
O ajuste de [celery]worker_concurrency
para casos especiais precisa ser baseado
nos tempos de pico de execução de tarefas e nos números da fila:
- Para tarefas que demoram mais para serem concluídas, os workers não podem esvaziar a fila completamente.
- Para tarefas menores e mais rápidas, aumente o número mínimo de workers do Airflow para evitar a escalação excessiva.
Sincronização de registros de tarefas
Os workers do Airflow têm um componente que sincroniza os registros de execução de tarefas com os buckets do Cloud Storage. Um grande número de tarefas simultâneas executadas por um único worker leva a um grande número de solicitações de sincronização. Isso pode sobrecarregar o worker e levar a problemas de desempenho.
Se você notar problemas de desempenho devido a um grande número de tráfego de sincronização de registros, reduza os valores de [celery]worker_concurrency
e ajuste o número mínimo de workers do Airflow.
Alterar a simultaneidade do worker
Alterar esse parâmetro ajusta o número de tarefas que um único worker pode executar ao mesmo tempo.
Por exemplo, um worker com 0,5 CPU normalmente pode processar seis tarefas simultâneas.Um ambiente com três workers desse tipo pode processar até 18 tarefas simultâneas.
Aumente esse parâmetro quando houver tarefas aguardando na fila e seus workers usarem uma porcentagem baixa de CPUs e memória ao mesmo tempo.
Diminuir esse parâmetro quando estiver recebendo remoções de pod; isso reduziria o número de tarefas que um único worker tenta processar. Como alternativa, aumente a memória do worker.
O valor padrão para simultaneidade de workers é igual a:
- No Airflow 2.6.3 e versões posteriores, um valor mínimo de
32
,12 * worker_CPU
e6 * worker_memory
. - Nas versões do Airflow anteriores à 2.6.3, um valor mínimo de
32
,12 * worker_CPU
e8 * worker_memory
. - Nas versões do Airflow anteriores à 2.3.3,
12 * worker_CPU
.
O valor worker_CPU
é o número de CPUs alocadas a um único worker. O
valor worker_memory
é a quantidade de memória alocada para um único worker. Para
Por exemplo, se cada um dos workers do seu ambiente usa 0,5 CPU e 4 GB de memória,
a simultaneidade de workers será definida como 6
. O valor de simultaneidade de worker
dependem do número de workers do ambiente.
Para alterar esse parâmetro, modifique a seguinte opção de configuração do Airflow:
Seção | Chave | Valor |
---|---|---|
celery |
worker_concurrency |
Novo valor para simultaneidade do worker |
Alterar a simultaneidade do DAG
A simultaneidade do DAG define o número máximo de instâncias de tarefa que podem ser executadas simultaneamente em cada DAG. Aumente-a quando seus DAGs executarem um grande número de tarefas simultâneas. Se essa configuração for baixa, o programador atrasará colocar mais tarefas na fila, o que também reduz a eficiência do escalonamento automático do ambiente.
Para alterar esse parâmetro, modifique a seguinte opção de configuração do Airflow:
Seção | Chave | Valor | Observações |
---|---|---|---|
core |
max_active_tasks_per_dag |
Novo valor para simultaneidade do DAG | O valor padrão é 16 |
Aumentar o máximo de execuções ativas por DAG
Esse atributo define o número máximo de execuções ativas de DAGs por DAG. Quando o mesmo DAG precisa ser executado várias vezes ao mesmo tempo, por exemplo, com diferentes argumentos de entrada, esse atributo permite que o programador inicie essas execuções em paralelo.
Para alterar esse parâmetro, modifique a seguinte opção de configuração do Airflow:
Seção | Chave | Valor | Observações |
---|---|---|---|
core |
max_active_runs_per_dag |
Novo valor para o máximo de execuções ativas por DAG | O valor padrão é 25 |
A seguir
- Escalonar ambientes
- Sobre o escalonamento do ambiente
- Modificar as configurações do Airflow
- Monitorar a integridade e o desempenho do ambiente com as principais métricas