PouchDB同步性能

时间:2018-05-18 07:19:03

标签: pouchdb

----------------我下面的原始问题是因为触发同步时我的移动应用程序占用了大量内存----------- ---

关于性能,有一个特殊文档说明是否需要同步并仅在此文档上进行复制是有利的。例如,有以下doc:

{ 
  _id: replication,
  replication_needed: true
}

然后触发复制

let rep = PouchDB.replicate(source, target, { live: true, doc_ids: ['replication'] })
.on('complete', function (info) {
  // If doc.replication == true then do a complete sync here
}

或者pouchdb / couchdb已针对此进行了优化?我想知道在大型数据库上是否需要时间来查找每个文档的更改?

以下是触发同步时Chrome中性能标签的屏幕截图 In performance tab here are all the requests done when a sync (with no doc update) is done

1 个答案:

答案 0 :(得分:0)

同步协议不是我的问题的根源。感谢@Flimzy我应该阅读深入解释协议的文档:http://docs.couchdb.org/en/2.1.1/replication/protocol.html

对于那些可能会遇到有关pouchDB同步性能问题的人(这是我的情况,我的应用程序冻结与包含少于100个文档的数据库同步,让我想知道同步是否有效),问题是因为我在某些文档中有附件(甚至不是很大的图片和视频),这似乎是在couchdb中复制的问题。

请注意,我有一个包含数千张图片和视频的网站,效果很好,但不使用实时同步。

我在我的移动应用程序上测试没有附件,并且使用20 000个文档(db超过50mb)非常顺利地进行同步。因此,如果您需要实时同步,请以另一种方式处理媒体文件。