App Engine 标准:超时给了我 500 错误

Posted

技术标签:

【中文标题】App Engine 标准:超时给了我 500 错误【英文标题】:App Engine Standard: Timeout gave me 500 error 【发布时间】:2019-02-15 08:55:36 【问题描述】:

我已经使用应用引擎标准一年了,最近收到的 500 错误越来越多。我尝试在本地环境中进行测试,一切正常。该问题仅发生在生产环境中。

我不知道在哪里可以找到有关此错误的更多信息。

请求被中止,因为它超过了最大执行时间。

这是我的 app.yaml

runtime: php55
api_version: 1
runtime_config:
  document_root: public
automatic_scaling:
  min_idle_instances: 1
  max_idle_instances: 10  # default value
  min_pending_latency: 30ms  # default value
  max_pending_latency: 100ms

我已经检查了 PHP 以及与超时和内存相关的所有内容,但是该错误仅发生在 App Engine 标准生产中。

[编辑] 该软件的最后一个版本于 2018 年 9 月 3 日上线,我没有收到任何问题,延迟问题开始于 2018 年 9 月 7 日。

我不知道第七天应用引擎结构是否有变化。

提前致谢

【问题讨论】:

使用 GAE Std 中的默认实例,您有大约 60 秒的时间来完成请求。发生了什么变化使您的请求需要更长的时间?更多实体、更多操作、更多获取?您可能需要将一些长时间运行的进程发送到任务队列(提高了 60 秒的限制)。或者,启动一个新的Service,您可以将其设置为运行更长时间(这可能会花费更多美元)。 这很奇怪,因为应用程序没有任何变化。我添加了最近延迟的打印。我的最后一次更新是在 2018 年 9 月 3 日。 【参考方案1】:

您有类似于deadlineexceeded error 的东西。如果您查看 Cloud Console 中的日志,您可能会看到此错误。您可以在文档中看到各种原因和建议的解决方案。基本上,要么确保您的请求更短,要么将其放入任务中。

【讨论】:

以上是关于App Engine 标准:超时给了我 500 错误的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine 超时:数据存储操作超时,或数据暂时不可用

将 Charles Debugging 与 Chrome 一起使用给了我 1-3% 的“连接超时”

将应用程序部署到Google App Engine时出现超时错误

我在哪里可以看到Google App Engine中的日志?

(基本缩放)如果达到空闲超时,App Engine 是不是会关闭仍在忙于处理请求的应用?

从 App Engine Flex 切换到 Standard