慢流星MongoDB订阅

时间:2015-06-23 22:52:37

标签: performance mongodb meteor centos6 meteor-blaze

问题:

Meteor中的MongoDB订阅速度缓慢(平均500毫秒),启动流星后CPU使用率保持在100%。我怀疑这是一个权限或设置问题。

详细信息:

1)设置:CentOS 6.6,启用了Oplog拖尾的MongoDB 3.0,快速CPU,大量RAM。并发症,任何以SUDO开头的命令都会导致10-30秒延迟。

2)Serverside发布:

Meteor.publish('price', function() {
  return priceCollection.find({"type":"Price","Name":"item1"}, {sort: {"date": -1}, fields:{"type": 1, "Name": 1, "date": 1, "value": 1}, limit: 2});
});

3)使用Subscription Manager通过Iron Router订阅客户端

waitOn: function() {
      return [permanentSubs.subscribe("price")];
    }

4)远程MongoDB性能:

rs0:PRIMARY> db.priceCollection.find({"type":"Price", "Name":"item1"}, {"type":1, "Name":1, "date":1, "value":1}).sort({"date":-1}).limit(2).explain("executionStats")

使用正确的索引,执行时间平均在0-10ms之间。

5)流星Minimongo表现:订阅完成后没有性能问题,2个文件使用Chrome浏览器控制台毫不拖延地返回。

6)在页面渲染之前需要等待一秒钟。使用Kadira显示发布时间范围在400ms-600ms之间。

7)运行Kadira CPU Profiler:53%包:ejson,25%包:下划线,其余:< 1%。

8)Kadira没有显示服务器端错误和订阅错误。

想要答案

1)从哪里开始寻找减速的根本原因?

2)是否有其他调试工具可用于细分订阅过程以帮助调试订阅性能问题。

如果需要更多信息,请发表评论。

0 个答案:

没有答案
相关问题