我们的流星服务器存在问题。当我们使用Meteor.publish / Meteor.subscribe发布300个左右的项目时,服务器会增加其内存并最终变得无法响应。 我们想到了: 1)监视活动订阅所采用的被动订阅/内存的数量 2)做类似的事情,一次发布“ - 忽略服务器端集合中的更改
有关如何实现上述任何目标的任何想法? 或者调试/改进流星应用程序性能的任何其他技巧? 感谢
答案 0 :(得分:2)
其他一些事情:
您可以根据this.set
中的代码,通过_publishCursor
API编写自己的自定义发布商,进行一次性发布。你会做类似的事情:
Meteor.publish("oneTimeQuery", function () {
MyCollection.find().forEach(function (doc) {
sub.added("collectionName", doc._id, doc);
});
sub.ready();
});
这是一个查询,向下发送结果,然后再也不会更新它。
那就是说,我们希望Meteor的表现能够做到这一点,这是不必要的!
我还想添加一个简单的方法来获取从应用程序到Meteor的统计数据(例如观察到的游标数量)(作为经过身份验证的订阅公开)但还没有时间。
答案 1 :(得分:0)
从Meteor 0.5.1开始,您可以做的一件事就是从发布功能中删除userId的依赖关系。如果发布函数不依赖于订阅的用户,那么Meteor将缓存数据库查询,以便在更多用户订阅时不会变慢。
请参阅此流星博客文章:http://meteor.com/blog/2012/11/20/meteor-051-database-scaling