MeteorJS 在 Heroku 上的高响应时间
MeteorJS high response time on Heroku
我是 运行 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
实际情况是应用程序上只有少数用户,服务器上没有发生异常 activity。实际上用户也没有遇到变慢的情况,所以我怀疑 Meteor 应用程序上的套接字连接机制正在污染 heroku 响应时间图表,我还必须关闭响应时间慢的警报,因为它们太多了。
这些不间断的 30 秒响应时间调用造成了一个问题,我真的不知道网络应用程序的真实速度。
发生了什么以及如何避免这种情况?
看来这个问题是由 Cloudflare 引入的。他们似乎一直在中断 websocket 连接,导致 Meteor 退回到轮询,这效率不高。
我是 运行 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
实际情况是应用程序上只有少数用户,服务器上没有发生异常 activity。实际上用户也没有遇到变慢的情况,所以我怀疑 Meteor 应用程序上的套接字连接机制正在污染 heroku 响应时间图表,我还必须关闭响应时间慢的警报,因为它们太多了。
这些不间断的 30 秒响应时间调用造成了一个问题,我真的不知道网络应用程序的真实速度。
发生了什么以及如何避免这种情况?
看来这个问题是由 Cloudflare 引入的。他们似乎一直在中断 websocket 连接,导致 Meteor 退回到轮询,这效率不高。