У меня есть очень простое приложение Java 11 Spring Boot, работающее на Google App Engine. Проблема в том, что экземпляр, на котором запущено приложение, очень часто перезагружается. Иногда до 70 раз в день.
Когда я наблюдаю за экземпляром в обзоре экземпляров App Engine, я вижу именно это. Счетчик экземпляров сбрасывается до нуля, чтобы запустить новый экземпляр через несколько минут. Использование памяти всегда остается в пределах 256 МБ.
Количество экземпляров за 6 часов: https://i.stack.imgur.com/ngkRf.png
Использование памяти более 6 часов: https://i.stack.imgur.com/RyxIU.png
Просматривая все журналы, доступные в средстве просмотра журналов Google, я вижу только следующее сообщение без дополнительной информации:
2020-04-08 10: 21: 52.626 EDT [начало] 2020/04/08 14: 21: 52.626133 Выход из завершенного сигнала
Затем следуют очевидные отпечатки из среды Spring о завершении работы сервлета.
Через некоторое время, когда приходит следующий HTTP-запрос, он регистрируется, но получает следующее предупреждение:
2020-04-08 10: 25: 24.974 EDT Этот запрос вызвал запуск нового процесса для вашего приложения и, таким образом, вызвал загрузку кода вашего приложения в первый раз. Таким образом, этот запрос может занять больше времени и использовать больше ЦП, чем обычный запрос для вашего приложения.
Сразу после этого:
2020-04-08 10: 25: 08.018 EDT [начало] 2020/04/08 14: 25: 08.002384 Запуск приложения 2020-04-08 10: 25: 08.021 EDT [начало] 2020/04/08 14: 25: 08.016623 Выполнение: / bin / sh -c exec serve streamtracker-0.0.1-SNAPSHOT.jar
Затем приложение Spring Boot запускается в обычном режиме и появляются обычные журналы Spring.
В течение всего этого ни единого упоминания о какой-либо проблеме или ошибке из экземпляра App Engine в средстве просмотра журналов. Поэтому я не могу понять, почему экземпляр все время перезапускается. Это не может быть из-за простоя, я вижу из журналов, что последний HTTP-запрос был успешно обработан всего за две минуты до принудительного выключения.
Есть ли способ узнать, почему Google продолжает перезапускать мое приложение?