ilm*_*tic 5 performance heroku mongodb meteor sockjs
我在Heroku(免费等级)上使用Meteor与MongoHQ.我的应用程序现在非常简单,它从一个Collection中加载了3-4个条目,但是当我将它部署到Heroku时,我看到了荒谬的加载时间(1-2分钟).HTML立即呈现.当我部署到Meteor.com的免费服务器时,加载时间要低得多,但对于4个微小的数据仍然大约需要15秒.当我在本地部署时,我没有看到这个,app立即从数据库中提取数据.
值得注意的是,我认为这不是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
Run Code Online (Sandbox Code Playgroud)
Meteor 在本地加载速度如此之快,因为它不依赖于您的互联网连接,并且文件只需从您的硬盘读取而无需下载。一旦数据加载完毕,它在您托管的任何地方都是相同的,因为客户端(您)在缓存的 mongo 数据库上执行所有操作,然后只需等待服务器判断该操作是否正常。
但对于 Heroku 的加载时间,我不知道,抱歉!
更新:这些是 Meteor 使用的 SockJS 的长拉。通常,这些拉取仅在热代码推送时(当添加/更改/删除文件时)才会中止。
您或 Heroku 似乎在目录中写入或更改了某些内容。因为这时Meteor可能会发起热代码推送。
归档时间: |
|
查看次数: |
1067 次 |
最近记录: |