【问题标题】:Meteor app sockjs connection closed on HerokuMeteor app sockjs 连接在 Heroku 上关闭
【发布时间】:2020-02-25 03:10:09
【问题描述】:

我在 Heroku 上部署了一个 Meteor 应用程序,但它突然崩溃了。我收到了

at=error code=H13 desc="Connection closed without response" method=GET path="/sockjs/info?cb=e2h8vk74gt" host=HOST request_id=89b5ceee-cb5e-48f2-94b9-7c2b8d833c96 fwd=IP dyno=web.1 connect=0ms service=22948ms status=503 bytes=0 protocol=https

at=error code=H12 desc="Request timeout" method=GET path="/sockjs/info?cb=lzf11s02bu" host=HOST request_id=289d7fda-27a2-470d-8ae5-c3e41c0be7d4 fwd=IP dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https 

Error R14 (Memory quota exceeded)

错误。

H13 错误似乎意味着只要请求“/sockjs/inf?cb=xyz”路径,服务器就会停止响应。我将其视为 Meteor 的套接字编程失败(sockjs)。似乎“cb”参数在执行请求后进入回调。此应用确实会发出 API 请求。

H12 可能会因为服务器超时而有意义。

我相信 R14 可能与这些错误有关,因为当失败的请求不断堆积时,超出了内存配额。

我已尝试在本地重现此问题。如果应用程序无法通过 Web API 进行身份验证,我有时会看到 H12 sockjs 错误,但无法深入了解它们并查看到底发生了什么(它只是进入实际的框架代码)。但是,我还没有让服务器在本地崩溃。这让我相信这可能与 Heroku 配置有关。有什么见解吗?

https://imgur.com/rYzagqA 是我的 localhost sockjs 错误的屏幕截图,您可以在其中看到 xhr reqs 失败。但是,我不知道如何判断该请求到底是什么(无论是实际的 API 调用还是路由器在做某事)

在 localhost 我也见过 '到 'ws://localhost:3000/sockjs/394/inx5dfkh/websocket' 的 WebSocket 连接失败:在建立连接之前 WebSocket 已关闭。 WebSocketTransport.doCleanup @ sockjs-0.3.4.js:1300' 任何人都知道我该如何找出究竟是什么原因造成的?

【问题讨论】:

    标签: javascript debugging heroku meteor sockjs


    【解决方案1】:

    我偶尔会遇到这类错误。

    不确定最终的根本原因,但目前发现了一些见解:

    1. Meteor 在 30 秒时超时请求。如果您有一些请求需要更长的时间才能回答,它会杀死它并抛出 H12。实际上,待处理的请求会堆积起来,您可能会遇到系统资源“过载”的情况。
    2. 使用不同的环境,我已经能够发现与 Mongo DB 的连接(在我的例子中是远程的)会有所不同。暂存和生产中的相同代码在暂存中效果很好,在生产中效果不佳。如果我将我的登台环境指向 prod 数据库,我开始得到这个 Meteor 延迟回答。 检查 websocket 流量,我发现在生产数据库下,订阅/取消订阅会慢很多。在这些完成之前,“请求”(例如,方法调用)不会在服务器中被调用。

    这几乎就是我现在所站的地方。不知道为什么 prod 数据库会促进较慢的行为,因为它是生产集群而不是免费的单实例数据库。

    【讨论】:

    • 欢迎来到 SO。请避免发布 cmets 作为答案。我知道您需要 50 的声誉才能发布 cmets。但我仍然建议您耐心等待,直到您获得声誉。
    • @KarthickRamesh 谢谢。会做。感谢您的支持。
    • 使用实际的 prod-ready Mongo 服务器提高性能?
    猜你喜欢
    • 1970-01-01
    • 2019-07-27
    • 2014-09-14
    • 1970-01-01
    • 2015-05-13
    • 2017-10-29
    • 2015-10-31
    • 2017-05-20
    • 1970-01-01
    相关资源
    最近更新 更多