Upnetix Labs · protocolo de experimento
Protocolo: Qual o impacto do uso do Ansible no tempo de provisionamento de múltiplos servidores em paralelo?
Este protocolo responde quanto tempo o Ansible leva para provisionar servidores em paralelo, comparando diferentes níveis de paralelismo. Você vai medir o tempo total de execução de playbooks em lotes de servidores idênticos.

Como o parâmetro forks do Ansible afeta o tempo total de execução de um playbook simples em múltiplos servidores idênticos?
Hipótese
Aumentar o número de forks do Ansible reduz o tempo total de provisionamento até um limite, após o qual os ganhos diminuem ou se estabilizam.
Variáveis
| Independentes (o que varia) | valor do parâmetro forks no Ansible |
|---|---|
| Dependentes (o que se mede) | tempo total de execução do playbook (segundos) |
| Controladas (o que fica fixo) | hardware dos servidores de destino; sistema operacional dos servidores; conteúdo do playbook; rede (topologia e latência); versão do Ansible |
Ambiente
Ambiente mínimo: 10 servidores virtuais idênticos (pode ser em nuvem privada ou pública), conectados em uma rede estável (por exemplo, em uma rede de fibra dedicada como a da Upnetix). Ferramentas: Ansible (versão conforme documentação oficial), cronômetro do sistema (ex: time), SSH configurado sem senha entre o nó de controle e os destinos.
Procedimento
- Preparação
Configure 10 servidores idênticos com acesso SSH liberado para o nó de controle.
- Playbook
Crie um playbook simples que execute uma tarefa de baixo custo (ex: criar um arquivo em /tmp).
- Configuração do Ansible
Edite o arquivo ansible.cfg para definir o parâmetro forks com o valor desejado.
sed -i 's/^forks.*/forks = <valor>/' ansible.cfg - Execução
Execute o playbook usando o comando ansible-playbook e meça o tempo total.
time ansible-playbook -i hosts playbook.yml - Repetição
Repita o teste para cada valor de forks (por exemplo: 1, 5, 10, 20, 50), realizando 5 execuções para cada valor.
Planilha de coleta
| forks (unidade) | execucao (unidade) | tempo_total_s (segundos) |
|---|---|---|
| forks=10, execucao=3, tempo_total_s=12.4 (EXEMPLO) | ||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média, mediana e desvio padrão do tempo total para cada valor de forks. Compare os tempos para identificar o ponto de saturação, onde aumentar forks não reduz mais o tempo de execução de forma significativa.
Critérios de decisão
- Se o tempo médio de execução estabilizar ou aumentar após certo valor de forks, considerar esse valor como limite ótimo de paralelismo.
- Resultados fora de 2 desvios padrão devem ser investigados para possíveis falhas de rede ou sobrecarga.
Fontes de erro e mitigação
- Variações de carga na rede ou nos servidores durante os testes podem afetar o tempo medido; execute em horários de baixa utilização e monitore recursos.
- Falhas intermitentes de SSH podem distorcer resultados; verifique logs de erro e repita execuções com falha.
Referências
- fonte oficial · Ansible (Red Hat) (docs.ansible.com)
- fonte oficial · Ansible (Red Hat) (docs.ansible.com)
- 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
