为什么Meteor使用如此多的带宽?它是休斯顿管理员订阅吗?

时间:2016-01-17 22:48:11

标签: node.js meteor

以下是Meteor的一个奇怪的扩展问题。 UNPUBLISHED集合似乎正在影响服务器使用。编辑:这似乎与Houston Admin包有关。

重现: 以下是可重现的代码:https://github.com/keyscores/houston_admin_performance_issue

情景A: 我从一个原型应用程序开始,该应用程序将“db.originalData”中的5个文档聚合/缩减为“db.reducedResult”中的1个doc。发布的唯一收藏品是微小的减少的结果'。 所有这些看起来非常有效:

  • 1%CPU使用率
  • 分配了20mb ram

情景B: 但是,当我使用originalData中的15,000条记录测试实际数据时, not 已发布:

  • 使用100%CPU
  • 使用100%ram(1GB)
  • 内存交换到磁盘
  • 100%带宽使用10mb / S

这很奇怪,因为只发布了小集合* 1记录*。大集合originalCollection未发布。

基础设施: mongo服务器位于单独的服务器(compose.io)上,而不是Meteor前端(通过MUP的数字海洋)

1 个答案:

答案 0 :(得分:2)

似乎Houston Admin在连接到远程MongoDB实例时使用了大量CPU。

休斯顿似乎在所有集合上创建订阅,甚至是那些可能故意隐藏到客户端(未发布)的集合。它似乎也出现在未登录的用户上。请参阅附加的CPU时间线。

通过删除休斯顿解决了这个问题。使用本地mongo实例时,错误也会消失。

enter image description here

问题交叉发布在这里: https://github.com/keyscores/houston_admin_performance_issue