【问题标题】:Google App Engine: Request was aborted after waiting too longGoogle App Engine:请求在等待太久后中止
【发布时间】:2021-03-11 09:17:41
【问题描述】:

我有一个小型 NodeJS 应用程序后端,它为在标准 GAE 环境中运行的 React 前端提供服务,该环境没有实际负载 - 它仅在我测试内容时满足我的个人请求。

所以我在前端应用程序中单击了大约一个小时,昨晚向后端发送了一些请求,然后突然弹出以下错误消息:

Request was aborted after waiting too long to attempt to service your request.

这些是我的日志:

2021-03-11 06:30:06.228 CET GET /l/data 200
Api call succeeded. Returning data.

2021-03-11 06:30:52.859 CET
[start] 2021/03/11 05:30:52.858446 Quitting on terminated signal

2021-03-11 06:31:25.997 CET OPTIONS /l/orders 500
Request was aborted after waiting too long to attempt to service your request.

2021-03-11 06:31:41.132 CET OPTIONS /l/orders 500
Request was aborted after waiting too long to attempt to service your request.

2021-03-11 06:31:46.629 CET OPTIONS /l/orders 500
Request was aborted after waiting too long to attempt to service your request.

2021-03-11 06:34:44.566 CET GET /l/users 200
2021-03-11 06:34:44.736 CET
[start] 2021/03/11 05:34:44.735240 No entrypoint specified, using default entrypoint: /serve
[start] 2021/03/11 05:34:44.736120 Starting app

从日志中,我看到我之前的实例在触发错误的请求之前已停止,而对于新的 OPTIONS 请求,GAE 甚至没有尝试启动实例。大约 3 分钟后触发了下一次启动。

我仍然不确定这里发生了什么并想了解它,因为我在 GAE 上运行了一些生产服务,这让我有点担心。

这是我的 app.yaml:

runtime: nodejs12

handlers:
- url: .*
  secure: always
  redirect_http_response_code: 301
  script: auto

service: backend

automatic_scaling:
  max_instances: 2

instance_class: F4

提前致谢!

【问题讨论】:

    标签: google-app-engine google-cloud-platform


    【解决方案1】:

    关于它的文档中有article。我认为这可能与:

    可以根据应用程序的缩放特性配置自动缩放器。在某些情况下,这些缩放参数可能会变得非最佳。

    我们根本不知道您的应用是什么以及您所说的“点击”是什么意思,但它可能会导致其中一些情况。

    同文暗示出现此类错误:

    在您的日志中,这意味着请求在等待空闲实例的等待队列中超时。

    因此,如果这是测试应用程序并且您突然开始使用,则可能会导致短问题。我认为在经常使用的应用程序中不会发生这种情况。

    【讨论】:

    • 嘿伙计,感谢您的回复。问题是,该应用程序正在被使用,但根据缩放算法,它被停止了,并且不知何故根本没有处理新请求。我知道如果我的应用程序启动缓慢,请求可能会超时,但 GAE 甚至没有尝试启动应用程序来服务请求。我对 GAE 几乎没有经验,但我希望它总是尝试通过重新加载实例或创建一个新实例来处理请求,但这里没有发生。
    • 我不确定这是否是某种竞争条件,GAE 认为它有一个可用的实例,但已发送关闭信号,因此请求被放置在实例队列中,但实例已关闭,因此它们是不处理。在那种情况下,缩小到零意味着有时我的请求会被“拒绝”。
    • 如果这是可重现的,我建议在Public Issue Tracker上提出一个错误
    猜你喜欢
    • 2011-01-28
    • 2018-12-12
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    相关资源
    最近更新 更多