javascript - Heroku 上的 ExpressJS 随机超时
问题描述
我在 Heroku 上有一个 Express Node API。它有一些开放的路由向另一个 Web 服务器发出上游请求,然后执行一些查询并返回数据。
所以客户端->Express->Apache->DB2。
这在 Heroku Hobby dyno 上运行了几个月。然而,现在我们暴露了另一条路由,并且有更多的客户端请求进入。Heroku 然后抛出 H12 错误(因为 Express 应用程序没有在 30 秒内返回响应)。
我在 Express 应用程序中使用 axios 向 Apache 发出请求并获取数据。但是,我在日志中没有看到任何失败。没有发现任何错误,可以为我提供更多关于为什么事情可能会超时的详细信息。调查了 Apache->DB2 方面的问题,瓶颈似乎并不存在,几乎可以肯定是在 Express 方面。
根据 Heroku 的建议,我将应用程序连接到 NewRelic,但尚未获得任何见解。听起来这可能是 Express 的可扩展性问题,并且在短时间内有大量新请求进入?没有特别多的。即最高〜50 /分钟。加强 Heroku dyno 会有什么作用吗?还有其他方法可以实际查看 Express 的情况吗?
似乎 10-15% 的客户端请求正在接收超时(并且似乎发生在有大量传入请求的时候)
谢谢!
解决方案
推荐阅读
- netbeans - NetBeans 12.2 未连接到 Xdebug 版本 3
- python - 仅使用 numpy,有没有办法创建方波?
- javascript - 从 Wordpress REST API 获取图像(网络托管)
- gitlab-ci - gitlab-ci:有没有办法可视化或模拟不同分支/标签名称的管道?
- flutter - 颤振的 OpenStreetMap
- laravel - 在编辑表单中显示多行数据 Laravel
- ansible - Ansible podman 部署
- python - 如何在 django 的 loginView 表单中创建“记住我”复选框?
- react-native - react Native中具有不同高度和宽度的网格视图
- javascript - 具有事件委托的多个元素上的 JavaScript addEventListener