Ayer tuve una instancia de la aplicación (qué vergüenza), ejecutándose en la región australia-sureste1.
Anoche fue un momento crítico para la aplicación; la gente confiaba en que funcionara perfectamente y luego, a mitad del evento, la instancia simplemente desapareció. Aproximadamente 8 minutos después, se creó una nueva instancia y continuó atendiendo tráfico.
¿Es esto algo que debería esperar? ¿Las instancias desaparecen y se reinician aleatoriamente? Me doy cuenta de que debería haber tenido un par de versiones ejecutándose, pero ¿qué pasa si ambas versiones se reinician al mismo tiempo?
Los registros no muestran ningún error en el momento en que se reinicia la aplicación (una aplicación Rails simple y estándar). Los registros solo tienen un intervalo de 8 minutos, seguido del inicio de Puma en la nueva instancia.
El uso de la CPU fue constante y rara vez superó el 5%. El uso de memoria fue de alrededor de 840 MB, con un ligero pico de 880 MB justo antes del reinicio. Los "Bytes de disco" eran constantes ~15 KB/s, con un gran pico de 40 MB/s en el momento del reinicio.
aplicación.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
Respuesta1
Respuesta2
Problema similar conmigo; nuevos controles de saludno revises la aplicación, solo la VM y Docker (a menos que los configure para verificar su aplicación, lo cual yo no he hecho), por lo que parece bastante claro que el problema está en el motor de la aplicación en sí.
Editar: No estoy seguro de por qué el neg, pero para que esto quede más claro.
Sí, debe esperar que reinicien las instancias aleatoriamente. El comportamiento que estás viendo no se debe a tu aplicación.