【问题标题】:H12 request timeout error in NodeJs Application on Heroku?Heroku上NodeJs应用程序中的H12请求超时错误?
【发布时间】:2020-01-26 09:09:39
【问题描述】:

我已经在 Hobby Dynos 的 Heroku 上部署了我的 NodeJs 应用程序,并使用 MongoDB 沙箱(mlab)作为数据库。我有 1000 多个用户使用这个应用程序,100-200 将是并发用户。 Heroku 有时会为 Rest API 显示 H12“请求超时”错误。

我已将 Hobby Dynos 升级到 Standard-1x Dynos,但有时它仍然可以正常工作,但对于某些请求,它会显示 H12“请求超时”。 我认为这可能是由于每秒应用程序和请求的高流量。一个运行良好的 API 会在一段时间后发送请求超时。请帮我解决这个问题。

【问题讨论】:

    标签: node.js mongodb heroku mlab


    【解决方案1】:

    这里的问题是“H12”。如果没有发送响应,Heroku 会在 30 秒后自动终止请求。

    在您的情况下可能出现的问题似乎是某些中间件或某些端点阻塞了事件循环或某些第三方请求花费了太多时间。

    在你的情况下,多个端点都面临这个问题,所以看起来像是阻塞问题。

    节点在单线程上工作

    因此,您检查是否有任何函数使用了任何同步版本,例如 DB 请求或任何其他以同步方式使用的服务。使用 promise 或 async-await 使其成为异步

    谢谢。让我知道它是否有帮助

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 2019-12-15
      • 2012-06-14
      • 2021-06-07
      • 2012-07-08
      • 1970-01-01
      • 2017-07-16
      • 2020-07-09
      • 1970-01-01
      相关资源
      最近更新 更多