Upnetix Labs · protocolo de experimento
Protocolo: Qual o impacto do paralelismo de tarefas no tempo total de execução de um DAG no Apache Airflow?
Este protocolo mede como o ajuste do parâmetro de paralelismo do Airflow afeta o tempo de execução de um pipeline ETL típico. O objetivo é identificar o ponto de saturação onde aumentar o paralelismo deixa de trazer ganhos.

Como diferentes níveis de paralelismo configurados no Apache Airflow afetam o tempo total de execução de um DAG de ETL padronizado?
Hipótese
Aumentar o paralelismo de tarefas reduz o tempo total de execução do DAG até um limite, a partir do qual há saturação ou degradação.
Variáveis
| Independentes (o que varia) | parâmetro parallelism no airflow.cfg |
|---|---|
| Dependentes (o que se mede) | tempo total de execução do DAG (segundos) |
| Controladas (o que fica fixo) | hardware do worker; versão do Airflow; conteúdo do DAG; volume de dados processados; sistema operacional; configuração de executor |
Ambiente
Instância dedicada com Apache Airflow (Executor Local), DAG de ETL sintético com 10 tarefas Python idênticas (simulação de carga), medição de tempo via logs do Airflow. Ferramentas: Apache Airflow, Python (para tarefas), cronômetro do sistema.
Procedimento
- Preparação do DAG
Crie um DAG com 10 tarefas Python idênticas, cada uma executando uma função de CPU-bound (ex: cálculo de fatorial grande).
Consulte a documentação para exemplos de DAGs: https://airflow.apache.org/docs/apache-airflow/stable/tutorial/index.html - Configuração inicial
Defina parallelism=2 no airflow.cfg. Reinicie o scheduler e o worker.
Consulte a documentação para localização do arquivo: https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html - Execução
Execute o DAG e registre o tempo total de execução (start/end).
- Repetição
Repita a execução 5 vezes para este valor de parallelism.
- Variação
Aumente parallelism para 4, 8, 16, 32, repetindo o processo para cada valor.
- Coleta
Anote os tempos totais por execução e valor de parallelism.
Planilha de coleta
| parallelism (unidade) | execucao (número) | tempo_total_s (segundos) |
|---|---|---|
| parallelism=8, execucao=3, tempo_total_s=EXEMPLO_120.3 | ||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média e o desvio padrão do tempo total para cada nível de paralelismo. Identifique o ponto em que aumentar o paralelismo não reduz mais o tempo ou começa a aumentar. Interprete a relação entre paralelismo e eficiência.
Critérios de decisão
- Aceite: Redução consistente do tempo total até o ponto de saturação.
- Decisão: Paralelismo ótimo é o menor valor que atinge o menor tempo médio sem aumento de erro ou instabilidade.
Fontes de erro e mitigação
- Variação de carga do sistema operacional: execute em ambiente dedicado.
- Cache de disco/memória: limpe caches entre execuções se possível.
- Variação de tarefas: mantenha as tarefas idênticas e determinísticas.
Referências
- fonte oficial · Apache Software Foundation (Airflow) (airflow.apache.org)
- fonte oficial · Apache Software Foundation (Airflow) (airflow.apache.org)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 2 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
