0Pricing
DevOps Bootcamp · Aula

Pipelining SSH e reutilização de conexões

Reduza a sobrecarga por tarefa.

Pipelining SSH e reutilização de conexões é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

O custo do SSH se acumula

Cada tarefa pode significar um novo acesso, uma cópia de arquivo e uma execução por SSH. Multiplique isso por muitas tarefas e muitos hosts, e o custo passa a dominar a execução.

Como uma tarefa normalmente é executada

Por padrão, o Ansible copia um módulo para o host, executa-o e depois faz a limpeza. Cada etapa custa uma viagem de ida e volta por SSH que muitas vezes pode ser evitada.

Processamento em fluxo para acelerar

Com processamento em fluxo, o Ansible transmite o módulo pela sessão SSH existente em vez de gravá-lo primeiro em um arquivo temporário, reduzindo as conexões por tarefa.

[ssh_connection]
pipelining = True

A armadilha de requiretty

O processamento em fluxo precisa do sudo sem um TTY, portanto a configuração sudoers remota não pode exigir requiretty. As distribuições modernas funcionam bem; algumas mais protegidas precisam de um ajuste.

Reutilize a conexão

O OpenSSH ControlPersist mantém uma conexão principal aberta e encaminha as tarefas seguintes por ela, evitando uma nova negociação a cada vez.

Ajuste ssh_args

O Ansible habilita a reutilização de conexões por meio de ssh_args. O valor de ControlPersist define por quanto tempo o soquete compartilhado permanece ativo após a última tarefa.

[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60s

Onde ficam os soquetes

A conexão compartilhada fica em um arquivo de soquete do caminho de controle. Mantenha este caminho curto para evitar o limite do sistema operacional para o tamanho do nome do soquete.

[ssh_connection]
control_path = %(directory)s/%%h-%%p-%%r

Processamento em fluxo versus reutilização

Eles reduzem custos diferentes: o processamento em fluxo diminui as viagens de ida e volta dentro de uma tarefa, enquanto ControlPersist reutiliza a sessão SSH entre várias tarefas.

Use ambos em conjunto

O processamento em fluxo e as conexões persistentes se combinam. Ativar ambos é uma das maiores melhorias de velocidade, com baixo risco, que você pode oferecer a um manual de automação grande.

Fatos mais rápidos também

Se você não precisar de fatos, defina gather_facts: false para ignorar o módulo de configuração inicial. Isso remove uma etapa dispendiosa do início de cada execução.

Meça o ganho

Ative o retorno de chamada profile_tasks para cronometrar cada tarefa. Ele mostra exatamente onde os segundos são gastos, para que você possa confirmar se os seus ajustes realmente ajudaram.

Verificação rápida

Você quer que cada tarefa evite gravar um arquivo temporário antes de ser executada por SSH.

Recapitulação

Ative o processamento em fluxo para reduzir as viagens de ida e volta e o ControlPersist para reutilizar as sessões SSH. Juntos, eles reduzem drasticamente o custo das conexões em execuções grandes. ⚡

Perguntas Frequentes

A aula “Pipelining SSH e reutilização de conexões” é grátis?

Sim — o texto completo de “Pipelining SSH e reutilização de conexões” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Pipelining SSH e reutilização de conexões”?

Reduza a sobrecarga por tarefa. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Pipelining SSH e reutilização de conexões”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. forks e ajuste do paralelismo
  2. Estratégias: linear, free e host_pinned
  3. Pipelining SSH e reutilização de conexões
  4. serial e execução em lotes progressivos
← Voltar para DevOps Bootcamp