Tive uma instância do aplicativo (que vergonha), rodando na região australia-southeast1 ontem.
A noite passada foi um momento crítico para o aplicativo; as pessoas confiavam que ele funcionaria perfeitamente e, no meio do evento, a instância simplesmente desapareceu. Cerca de 8 minutos depois, uma nova instância foi criada e continuou a atender o tráfego.
Isso é algo que eu deveria esperar? Instâncias desaparecendo e reiniciando aleatoriamente? Sei que deveria ter algumas versões em execução, mas e se ambas as versões forem reiniciadas ao mesmo tempo?
Os logs não mostram nenhum erro no momento em que o aplicativo (um aplicativo Rails simples e padrão) é reiniciado. Os logs têm apenas um intervalo de 8 minutos, seguido pela inicialização do Puma na nova instância.
O uso da CPU era constante e raramente acima de 5%. O uso de memória foi de cerca de 840 MB, com um ligeiro pico de 880 MB pouco antes da reinicialização. "Bytes de disco" era uma constante de aproximadamente 15 KB/s, com um grande pico de 40 MB/s no momento da reinicialização.
app.yaml
entrypoint: bundle exec rackup -p $PORT
env: flex
runtime: ruby
handlers:
- url: .*
script: main.app
secure: always
automatic_scaling:
min_num_instances: 1
max_num_instances: 4
cpu_utilization:
target_utilization: 0.75
Responder1
Responder2
Problema semelhante comigo; novos exames de saúdenão verifique o aplicativo, apenas a VM e o Docker (a menos que você os configure para verificar seu aplicativo, o que eu não fiz) e, portanto, parece bastante claro que o problema está no próprio mecanismo do aplicativo.
Editar: Não sei por que o neg, mas para deixar isso mais claro.
Sim, você deve esperar que eles reiniciem as instâncias aleatoriamente. O comportamento que você está vendo não se deve ao seu aplicativo.