gpt4 book ai didi

performance - 为什么 Meteor 需要这么长时间才能在 Heroku 上加载我的数据?

转载 作者:IT老高 更新时间:2023-10-28 12:30:11 37 4
gpt4 key购买 nike

我在 Heroku(免费层)和 MongoHQ 上使用 Meteor。我的应用程序现在非常简单,它从一个集合中加载 3-4 个条目,但是当我将它部署到 Heroku 时,我看到了荒谬的加载时间(1-2 分钟)。 HTML 会立即呈现。当我部署到 Meteor.com 的免费服务器时,加载时间要短得多,但对于 4 条小数据仍然需要 15 秒左右。当我在本地部署时,我没有看到任何这种情况,应用程序会立即从数据库中提取数据。

值得注意的是,我认为这不是 Heroku 的“闲置”问题。即使我已经有一个刚刚打开应用程序的浏览器窗口,如果我使用其他浏览器并重试,我仍然会得到 1-2 分钟的加载时间。但是,一旦加载了数据,性能又恢复了良好,我可以毫无问题地进行读写。

我错过了什么?我在控制台中没有看到任何错误,mongo 在日志中显示了几个查询,并显示它正在快速响应 4 个文档,但显然在中间的某个地方出现了交通堵塞。非常感谢您对此提供的任何帮助,如果我无法通过这个 Meteor 现在对我的需求毫无用处。

更新:我一直在 Firebug 中密切关注它,看起来性能在很大程度上不一致。有时简单的刷新需要 1 分钟,有时需要 10 秒。但我注意到的是,当它的速度很慢时,它会获取 sockjs/info 文件,然后就在 sockjs POST 中止(有时多次)之后。当它运行得很快时,POST 和后续的 POST 运行顺利

Slow:
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 22ms
POST http://pocleaderboard.herokuapp.com/sockjs/029/su0d77fb/xhr Aborted
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 27ms
POST http://pocleaderboard.herokuapp.com/sockjs/132/uljqusxd/xhr Aborted
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 28ms
POST http://pocleaderboard.herokuapp.com/sockjs/154/kcbr6a5p/xhr Aborted

Fast(er):
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 1.08s
POST http://pocleaderboard.herokuapp.com/sockjs/755/xiggb555/xhr 200 OK 1.02s

最佳答案

Meteor 在本地加载速度如此之快,因为它不依赖于您的互联网连接,并且文件可以从您的硬盘读取,无需下载。一旦数据被加载,它在你托管的任何地方都是一样的,因为客户端(你)在缓存的 mongo 数据库上执行所有操作,然后等待服务器说操作是否正常。

但是对于 Heroku 的加载时间,我不知道,抱歉!

更新:这些是 Meteor 使用的 SockJS 的长拉。通常,这些拉取只会在热代码推送时中止(添加/更改/删除文件时)。

您或 Heroku 似乎都在目录中写入或更改了某些内容。因为那时Meteor可能会发起热代码推送。

关于performance - 为什么 Meteor 需要这么长时间才能在 Heroku 上加载我的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13945952/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com