Google App Engine 一直在无缘无故地重启 Spring Boot 应用程序

Google App Engine 一直在无缘无故地重启 Spring Boot 应用程序

我有一个非常简单的 Java 11 Spring Boot 应用程序在 Google 的 App Engine 上运行。问题是运行该应用程序的实例不断重新启动。有时每天多达 70 次。

当我在 App Engine 的实例概览中观察实例时,我看到的正是这种情况。实例计数跳转到零,几分钟后才启动一个新实例。内存使用量似乎始终保持在 256MB 的限制范围内。

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 框架关于关闭 servelet 的明显打印。

稍后,当下一个 HTTP 请求到达时,该请求会被记录,但会附加以下警告:

2020-04-08 10:25:24.974 EDT 此请求导致为您的应用程序启动一个新进程,从而导致首次加载您的应用程序代码。因此,此请求可能比您的应用程序的典型请求花费更长的时间并使用更多的 CPU。

紧接着的是:

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 不断重启我的应用程序的原因吗?

相关内容