我已经在Hobby Dynos的Heroku上部署了NodeJs应用程序,并使用了MongoDB sandbox(mlab)作为数据库。我有1000多个用户在使用此应用程序,而100-200个是并发用户。 Heroku有时会显示Rest API的H12“请求超时”错误。
我已将Hobby Dynos升级到Standard-1x Dynos,但有时仍然可以正常工作,但对于某些请求,它显示H12“请求超时”。
我认为这可能是由于每秒“应用程序和请求”上的高流量所致。一个运行良好的API会在一段时间后发送请求超时。请帮助我解决此问题。
答案 0 :(得分:0)
这里的问题是“ H12”。如果未发送响应,则Heroku会在30秒后自动终止请求。
您所遇到的可能问题似乎是某些中间件或某些端点阻止了事件循环,或者某些第三方请求花费了太多时间。
在您的情况下,多个端点都面临该问题,因此似乎是阻塞问题。
节点在单线程上工作
因此,您检查是否有任何功能具有使用的任何同步版本,例如DB请求或任何其他以同步方式进行的服务。使用promise或async-await使其异步
谢谢。让我知道它是否有帮助