Heroku自动重启dyno H12请求超时错误

Mar*_*ius 10 heroku node.js

我们有一个节点dyno处理小的API请求,~10 /秒.所有请求均在0.5秒内完成

每隔几天,dyno开始对所有请求发出H12请求超时错误.我们无法找到原因.重新启动修复它.

如何让Heroku在H12请求超时阈值上自动重启dyno,例如超过5 /秒?

Rya*_*ons 1

H12 请求超时意味着 Heroku 的负载均衡器正在向您的应用程序发送请求,但没有得到响应。

发生这种情况的原因有很多,因为应用程序已经在运行,您可以排除配置问题。因此,现在您正在查看应用程序代码,并且必须检查日志以了解发生了什么。我建议使用他们的日志应用程序之一,例如 papertrail,这样您就可以在发生这种情况时获得日志的历史记录。

有些事情可能是,但不限于:

  • 应用程序崩溃且无法重新启动
  • 应用程序生成错误,但未发送响应
  • 应用程序陷入事件循环,阻止新请求

Heroku 提供了一些有关该问题的文档,可能有助于调试您的情况

https://devcenter.heroku.com/articles/request-timeout https://help.heroku.com/AXOSFIXN/why-am-i-getting-h12-request-timeout-errors-in-nodejs