15

我们已经运行 Google Cloud Run 一个多月了,并注意到我们定期有云运行实例,这些实例只是失败了:

请求失败,因为与实例的 HTTP 连接出错。

此消息几乎总是*由以下消息开始(这些是日志中唯一的消息):

此请求导致启动新的容器实例,因此可能比典型请求花费更长的时间并使用更多的 CPU。

*我找不到,也不记得有一个不正确的案例,但我没有进行详尽的搜索。

一些可能很重要的事情:

  • 我们的并发级别设置为 1,因为我们的请求可能占用最大可用内存量 2GB。
  • 我们收到了超出最大内存的错误,但我们已回拨使用量来避免该问题。
  • 此消息似乎在 30 秒后不久出现(例如,32、35),我们的超时设置为 75 秒。
4

2 回答 2

4

就我而言,这个错误总是在收到请求 120 秒后抛出。我发现 Node 12 默认请求超时为 120 秒的问题。因此,如果您使用的是 Node 服务器,您可以更改默认超时或将 Node 版本更新为 13,因为他们删除了默认超时https://github.com/nodejs/node/pull/27558

于 2021-02-15T12:31:13.740 回答
0

如果您的日志没有捕获任何有用的信息,则很可能实例崩溃是因为您运行了繁重的 CPU 任务。可以在Google 问题跟踪器上找到关于此的提及:

Cloud Run 上出现 503 错误的常见原因是请求使用大量 CPU 并且由于容器资源不足而无法处理某些请求

于 2020-09-26T05:06:28.583 回答