O Que É Concorrência de Runner? Quantos Jobs Rodam de Uma Vez
Concorrência de runner é o número de jobs que seu CI pode rodar ao mesmo tempo - o teto que decide se uma rajada de jobs roda em paralelo ou se acumula em uma fila.
Quando dez jobs são disparados de uma vez, a concorrência decide quantos rodam imediatamente e quantos esperam. Pouca concorrência e sua equipe forma fila; concorrência fixa demais e você paga por capacidade ociosa. A resposta certa é elástica.
O que define o limite
A concorrência é limitada por quantos runners estão disponíveis (o tamanho da sua frota ou o limite do plano) e por quaisquer caps por workflow ou por org que você configurar. O teto efetivo é o menor destes.
Concorrência e filas
Quando o número de jobs disparados excede a concorrência, o excedente forma fila. Uma equipe que vê jobs enfileirados com frequência nos horários de pico atingiu seu teto de concorrência, e não um problema de desempenho por job.
O trade-off de dimensionamento
- Concorrência fixa-alta: sem filas, mas capacidade ociosa custa dinheiro.
- Concorrência fixa-baixa: barata quando ociosa, dolorosa no pico.
- Concorrência elástica: autoscaling expande o teto sob demanda.
Concorrência elástica
A melhor resposta é uma concorrência que escala com a demanda: o autoscaling adiciona runners durante rajadas e os remove quando ociosos, para que você obtenha throughput de pico sem pagar por ele fora do pico. Plataformas gerenciadas fornecem essa elasticidade de fábrica.
Controle de concorrência em nível de workflow
Separada da capacidade da frota, o GitHub Actions tem uma chave concurrency que serializa ou cancela execuções sobrepostas do mesmo workflow - útil para deploys que você não quer rodando duas vezes ao mesmo tempo. É uma ferramenta de coordenação, não uma ferramenta de capacidade, e as duas não devem ser confundidas.
Principais conclusões
- Concorrência de runner é quantos jobs rodam simultaneamente.
- É limitada pelo tamanho da frota e pelos caps configurados.
- Exceder o limite empurra os jobs excedentes para uma fila.
- Concorrência elástica e autoscaled supera qualquer teto fixo.