簡體   English   中英

在什么情況下,Google Cloud Run 會響應“請求失敗,因為與實例的 HTTP 連接出現錯誤。”?

[英]In what cases does Google Cloud Run respond with "The request failed because the HTTP connection to the instance had an error."?

我們已經運行 Google Cloud Run 一個多月了,並注意到我們周期性地擁有簡單地失敗的雲運行實例:

請求失敗,因為與實例的 HTTP 連接出錯。

此消息幾乎總是*由以下消息(這些是日志中唯一的消息)進行:

此請求導致啟動新的容器實例,因此可能比典型請求花費更長的時間並使用更多的 CPU。

*我找不到也不記得有不正確的情況,但我沒有進行詳盡的搜索。

一些可能很重要的事情:

  • 我們的並發級別設置為 1,因為我們的請求最多可以占用 memory 可用空間,即 2GB。
  • 我們收到錯誤消息,指出我們已超過最大 memory,但我們已回撥我們的使用量以避免該問題。
  • 此消息似乎在 30 秒(例如 32、35)后不久出現,我們的超時設置為 75 秒。

在我的例子中,這個錯誤總是在收到請求 120 秒后拋出。 我發現了 Node 12 默認請求超時為 120 秒的問題。 因此,如果您使用的是 Node 服務器,則可以更改默認超時或將 Node 版本更新為 13,因為它們刪除了默認超時https://github.com/nodejs/node/pull/27558

如果您的日志沒有捕捉到任何有用的信息,則很可能是因為您運行了繁重的 CPU 任務,所以實例崩潰了。 可以在Google 問題跟蹤器上找到有關此的提及:

Cloud Run 上 503 錯誤的一個常見原因是請求使用大量 CPU 並且由於容器資源不足而無法處理某些請求

對我來說,通過升級節點解決了 docker 文件中的節點“FROM node:13.10.1 AS build”升級到“FROM node:14.10.1 AS build”問題得到解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM