Entrar ou criar conta

Upnetix Labs · protocolo de experimento

Protocolo: Qual o impacto do tamanho do inventário no tempo de execução de um playbook Ansible?

Este protocolo avalia como o número de hosts em um inventário afeta o tempo total para executar um playbook simples no Ansible. O objetivo é mensurar a escalabilidade do Ansible em um ambiente controlado.

Automação de TI com Ansible
Ligado ao treinamento Automação de TI com Ansible
Protocolo, não resultado. Esta página descreve como medir. Os números que valem são os que você obtém na sua bancada, seguindo o método abaixo. Nenhum valor aqui é resultado de medição da Upnetix.
Pergunta

Como o tempo de execução de um playbook Ansible varia conforme o número de hosts no inventário?

Hipótese

Aumentar o número de hosts no inventário eleva linearmente o tempo total de execução do playbook.

Variáveis

Independentes (o que varia)número de hosts no inventário
Dependentes (o que se mede)tempo total de execução do playbook (segundos)
Controladas (o que fica fixo)tipo de tarefa do playbook; configuração dos hosts (CPU, RAM, SO); rede (latência, largura de banda); versão do Ansible; conexão SSH sem senha

Ambiente

Ambiente virtualizado ou físico com pelo menos 1 controlador Ansible (Linux) e múltiplos hosts Linux acessíveis via SSH. Ansible instalado conforme documentação oficial. Ferramenta de medição: comando time do Linux.

Procedimento

  1. Preparação do inventário

    Crie arquivos de inventário com diferentes quantidades de hosts: 1, 10, 50, 100, 200.

    Consulte a documentação para formato de inventário: https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
  2. Criação do playbook

    Escreva um playbook simples que execute uma tarefa idempotente (ex: ping) em todos os hosts.

    Consulte a documentação para exemplo de playbook: https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html
  3. Execução do playbook

    Para cada inventário, execute o playbook usando o comando time para medir o tempo total.

    time ansible-playbook -i inventarioX playbook.yml
  4. Repetição

    Repita cada execução 5 vezes para cada tamanho de inventário, reiniciando o controlador entre as execuções para evitar cache.

Planilha de coleta

num_hosts (hosts)execucao (repeticao)tempo_total_segundos (segundos)
EXEMPLO: 10, 3, 4.21

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 para cada tamanho de inventário. Compare a variação do tempo conforme o número de hosts. Analise se o crescimento é linear, sublinear ou superlinear.

Critérios de decisão

  • Se o tempo aumentar proporcionalmente ao número de hosts, a hipótese é confirmada.
  • Se houver saltos abruptos ou comportamento não linear, investigar gargalos de rede ou CPU.

Fontes de erro e mitigação

  • Variação de carga nos hosts ou no controlador pode afetar o tempo; execute em horários de baixa utilização.
  • Latência de rede instável pode distorcer resultados; use rede dedicada se possível.
  • Caches de conexão SSH podem acelerar execuções subsequentes; reinicie o controlador entre repetições.