在什么情况下Google Cloud Run会回应“请求失败,因为与实例的HTTP连接出错。”?

时间:2019-06-28 21:20:53

标签: google-cloud-run

我们已经运行Google Cloud Run已有一个多月了,并且注意到我们定期有一些因以下原因而失败的云运行实例:

  

由于与实例的HTTP连接出错,请求失败。

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

  

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

*我找不到,也没有回想这种情况,但我没有进行详尽的搜索。

一些重要的事情:

  • 我们的并发级别设置为1,因为我们的请求可能占用最大可用内存量2GB。
  • 我们收到了超出最大内存限制的错误,但我们已经回拨了我们的用法以消除该问题。
  • 此消息似乎在30秒(例如32、35)之后不久发生,并且我们的超时时间设置为75秒。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

在Cloud Run上导致503错误的常见原因是请求使用时 大量的CPU,并且由于容器资源不足,因此无法 处理一些请求