Como fazer benchmark de runners do GitHub Actions (velocidade e custo)
Benchmarks de fornecedores são fáceis de manipular. Veja como fazer sua própria comparação, de igual para igual, nos seus builds reais.
O único benchmark que importa é o seu pipeline. Números sintéticos raramente correspondem à sua carga de trabalho. Use esta metodologia para medir runners de forma justa nas métricas que afetam sua conta e seus desenvolvedores.
| Métrica | O que medir | Por que importa |
|---|---|---|
| Tempo de execução (wall-clock) | Mediana de 20+ execuções do seu job real | Tempo de espera do desenvolvedor |
| Tempo de fila/cold start | Tempo do gatilho até o primeiro passo | Latência oculta |
| Custo por execução | Minutos x taxa por minuto | A conta real |
| Taxa de acerto de cache | % de execuções que restauram o cache | Maior alavanca de velocidade |
| Taxa de falhas intermitentes | % de execuções que falham de forma transitória | Minutos desperdiçados em reexecuções |
Controle as variáveis
- Mesmo commit, mesmo estado de cache, mesmo horário do dia.
- Execute 20+ iterações e use a mediana, não o melhor resultado.
- Meça o custo por execução, não só a velocidade: um runner premium mais rápido pode ser a escolha mais cara.
Não esqueça a confiabilidade
Um runner 10% mais rápido, mas que falha de forma transitória em 15% das vezes, é mais lento na prática quando você conta as reexecuções. Considere a taxa de falhas intermitentes na comparação: runners com autocorreção se saem bem aqui porque se recuperam automaticamente.
O veredito
Faça o benchmark nos seus próprios builds, ao longo de muitas execuções, em velocidade E custo E confiabilidade. A Latchkey foi construída para vencer nos eixos de confiabilidade e custo: meça-a contra o seu pipeline.