Meteor 流星';合并框是否在客户端之间复制公共数据?

Meteor 流星';合并框是否在客户端之间复制公共数据?,meteor,Meteor,我试图了解每个客户端服务器将占用多少内存,并了解到MergeBox是客户端minimongo的副本。MergeBox是保留所有客户端订阅的副本,还是仅保留与该客户端不同的订阅的副本?例如: 订阅1:对所有客户端都相同的公共数据集 订阅2:只有特定客户端才能访问的私有数据 10个客户端中的每一个都订阅Sub 1和Sub 2。Sub 1是每个客户端的相同数据。Sub 1和Sub 2各占用1MB。服务器的MergeBox内存使用量是20 MB还是11 MB 在您的示例中,是11MB,因为观察者得到

我试图了解每个客户端服务器将占用多少内存,并了解到MergeBox是客户端minimongo的副本。MergeBox是保留所有客户端订阅的副本,还是仅保留与该客户端不同的订阅的副本?例如:

  • 订阅1:对所有客户端都相同的公共数据集
  • 订阅2:只有特定客户端才能访问的私有数据

10个客户端中的每一个都订阅Sub 1和Sub 2。Sub 1是每个客户端的相同数据。Sub 1和Sub 2各占用1MB。服务器的MergeBox内存使用量是20 MB还是11 MB

在您的示例中,是11MB,因为观察者得到了重用。我建议你读一下博客。引述:

。。。如果创建多个相同的观察者,Meteor将不会从数据库中为每个观察者获取初始数据集。相反,它重用第一个观察者已经获取的数据


我也通过问核心开发者这个问题来验证这一点。

即使Meteor没有重用观察器,由于Chrome V8如何处理内存管理,RAM也会保持不变。我认为第一次订阅将在1到2兆字节之间。11兆字节的估计值正确吗?我考虑范围[1-2],因为处理每个客户端连接所需的内部信息。