首页 > 解决方案 > Heroku 上 MeteorJS 的高响应时间

问题描述

我在 Heroku 上运行 Meteor 应用程序,Heroku 响应时间图表不断充满高响应时间查询,达到 30 秒的限制

在此处输入图像描述

路由器日志显示所有 30 秒的查询都是某种 sockJS xhr 调用

14 Aug 2021 11:37:33.249334 <158>1 2021-08-14T03:37:32.837295+00:00 heroku router - - at=info method=POST path="/sockjs/950/pwiv10fk/xhr" host=www.abc.com request_id=edbe326a-cddd-4e5e-9347-0f5c1c49651b fwd="121.6.80.103,162.158.165.53" dyno=web.1 connect=0ms service=29493ms status=200 bytes=384 protocol=httpHigh Response Time
14 Aug 2021 11:37:33.358335 <158>1 2021-08-14T03:37:32.837093+00:00 heroku router - - at=info method=POST path="/sockjs/707/7haw05h4/xhr" host=www.abc.com request_id=20ca52a2-5aa4-43fa-bb61-39462eb0ab86 fwd="121.6.80.103,162.158.167.169" dyno=web.1 connect=0ms service=29484ms status=200 bytes=384 protocol=httpHigh Response Time
14 Aug 2021 11:38:03.405335 <158>1 2021-08-14T03:38:02.836998+00:00 heroku router - - at=info method=POST path="/sockjs/950/pwiv10fk/xhr" host=www.abc.com request_id=f3a51bc3-9319-4b80-91b5-ed76bf179493 fwd="121.6.80.103,162.158.166.136" dyno=web.1 connect=0ms service=29480ms status=200 bytes=384 protocol=httpHigh Response Time

现实情况是,该应用程序上只有少数用户,并且服务器上没有发生异常活动。实际上用户也没有遇到变慢的情况,所以我怀疑 Meteor 应用程序上的套接字连接机制正在污染 heroku 响应时间图表,我还必须关闭慢响应时间警报,因为它们太多了。

这些不间断的 30 秒响应时间调用造成了一个问题,我真的不知道网络应用程序的真实速度。

发生了什么以及如何避免这种情况?

标签: herokumeteorsockjs

解决方案


似乎该问题是由 Cloudflare 引入的。他们似乎一直在中断 websocket 连接,导致 Meteor 退回到轮询,这效率不高。


推荐阅读