【发布时间】:2012-12-06 10:12:43
【问题描述】:
我在 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
【问题讨论】:
-
根据我的经验,如果您使用 Heroku 免费的任何东西,它的速度就像 ****。 heroku 非常适合在那里获取测试应用程序,但是如果您想要速度,您必须付费,我非常怀疑它与您的运行有什么关系,只是 heroku 是 heroku(即免费版本)
标签: performance mongodb heroku meteor sockjs