|
|
1
14
Meteor正在将整个数据集推送给您的客户端。 您可以通过删除自动发布包来关闭自动发布:
然后为您的客户端创建特定的订阅。 订阅时,您可以将会话变量作为参数传递,因此在客户端上,您可以执行以下操作:
在服务器上,您可以使用参数来过滤发送到客户端的结果集,这样就不会同时对所有内容进行管道传输。您可以使用过滤器以某种方式对数据进行分段。
现在,每当您使用
您可以使用它来控制向客户端发送多少数据以及发送什么数据。 正如另一位发帖人所说,你真的要问这是否是这份工作的最佳工具。Meteor是指在两个方向上实时更新的相对较小的数据集。它经过了大量优化,并为该用例提供了大量的脚手架。 对于另一个用例(例如只读的巨大数据集),它可能没有意义。它有很多开销,提供了您不打算使用的功能,并且您将进行编码以获得所需的功能。 |
|
2
13
我也在为同样的问题而挣扎。在我的情况下,我只需要同步大约3000条记录,总共大约30KB。经过数周的尝试,我终于意识到同步不是问题所在,而是同步时发生的LiveHTML更新。 通过在初始页面加载期间禁用模板更新,我能够将300条(已筛选)记录的页面加载从10秒减少到所有3000条记录的不到2秒。我通过向定义模板内容的函数添加一个条件来实现这一点: 之前(服务器发布300条记录的10页加载):
To(服务器发布的3000条记录的2页加载):
为了只在加载数据后“激活”会话,我添加了:
|
|
3
10
虽然这是一个规模问题,可能可以改进;需要注意的是,您在任务中使用了错误的技术,因为Meteor是用于客户端之间的交互,而不是用于检索大量只读时间敏感数据。虽然状态跟踪屏幕可能仍然有一定的意义,但大量的时间关键数据肯定不会。。。 整个Meteor堆栈在任何本地堆栈中的简单实现上都引入了极端的开销;老实说,我甚至会考虑到Java或C#会带来的开销,在选择Java或C#与PHP和C++等低级别语言时会三思而后行。Ruby、Python、Node.js等语言则完全不同;它们是为快速原型设计而设计的,但就延迟/吞吐量而言,由于JIT所需的开销,它们落后了,更不用说一些非本地的做事方法所增加的开销了。 TL;博士 以下为: 用正确的工具做这项工作,否则你会割伤你的手指。。。 |
|
|
4
2
启用自动发布后,您可能会看到Mongodb中大量文档的性能受到影响。您可以通过删除自动发布来解决此问题,并编写仅发布相关数据而不是整个数据库的代码。 文档还可以手动管理缓存:
Meteor的其他性能改进目前正在进行中,包括支持“大量客户端”的DDP级代理。你可以在Meteor上看到更多细节 roadmap 。 |
|
|
5
1
我喜欢流星的质朴。我只是停止使用本地mongodb集合来避免同步的开销,性能看起来真的很好。
对于新的流星,下面的作品。
|
|
|
VikR · React头盔:哈希不被接受? 1 年前 |
|
|
Gravity123 · 使用arrayFilters更新对象数组 2 年前 |
|
|
loomi · 查找项目目录的绝对基本路径 12 年前 |
|
|
l_na_l · 如何使用javascript渲染模板值-Meteor 12 年前 |
|
|
SmashBrando · 使用帐户和数据 12 年前 |
|
|
Aaron Cunnington · 流星:意外的mongo退出代码100 12 年前 |
|
|
dimfisch · 计算文本宽度(以像素为单位)服务器端 12 年前 |