O Que É Scaling Lag de Runner? O Atraso Antes de a Capacidade Chegar
Scaling lag de runner é o tempo entre um pico de demanda e novos runners de fato estarem prontos - a janela em que os jobs formam fila enquanto o autoscaling se atualiza.
Autoscaling não é instantâneo. Quando uma rajada de jobs chega, o sistema tem que notar, lançar instâncias e esperar que deem boot e se registrem. Esse atraso é o scaling lag, e é por isso que mesmo uma frota autoscaled pode brevemente formar fila.
De onde vem o lag
- Detecção: o controlador faz poll e nota a fila com um atraso.
- Launch: requisitar e iniciar novas instâncias leva tempo.
- Boot e register: cada novo runner faz cold-start antes de pegar um job.
Por que importa
Durante o lag, os jobs ficam enfileirados mesmo que o sistema esteja escalando corretamente. Para uma rajada curta, a fila pode esvaziar antes mesmo de a nova capacidade chegar - significando que os desenvolvedores esperaram por nada.
Como warm pools o escondem
Um warm pool absorve a primeira onda de uma rajada com runners já inicializados, para que os jobs comecem instantaneamente enquanto o autoscaling provisiona mais capacidade nos bastidores. O pool compra tempo para cobrir o lag.
Minimizando o lag
Detecção mais rápida, capacidade pré-aquecida e imagens menores encolhem o lag. Plataformas gerenciadas combinam warm pools com autoscaling rápido para que rajadas sejam atendidas imediatamente e o lag seja invisível.
Scaling lag vs cold start
Eles são relacionados mas distintos: um cold start é um runner levando tempo para provisionar, enquanto o scaling lag é o sistema levando tempo para decidir adicionar runners de todo. Você pode eliminar cold starts com um warm pool e ainda ver lag se o pool for pequeno demais para a rajada.
Principais conclusões
- Scaling lag é o atraso antes de runners autoscaled entrarem online.
- Vem do tempo de detecção, launch e boot-e-register.
- Durante o lag, os jobs formam fila mesmo enquanto o sistema escala corretamente.
- Warm pools absorvem a rajada para que o lag seja invisível aos desenvolvedores.