从couchdb复制数据库:非常慢

从couchdb复制数据库:非常慢,couchdb,pouchdb,Couchdb,Pouchdb,我的couchDB中有一个约10k条目的数据库(~30Mo,无附件) 使用PockDB浏览器端,从沙发上复制时,确实需要一段时间才能完成 让我惊讶的是,我的沙发在此期间收到的请求数量(数千!我猜和文档一样多)-这正常吗 有没有办法“批量”处理这些请求并通常加快复制过程 谢谢。我想您使用的是backdb.replicate功能 在这种情况下,请尝试修改batch\u size选项: PouchDB.replicate('mydb', 'http://localhost:5984/mydb', {b

我的couchDB中有一个约10k条目的数据库(~30Mo,无附件)

使用PockDB浏览器端,从沙发上复制时,确实需要一段时间才能完成

让我惊讶的是,我的沙发在此期间收到的请求数量(数千!我猜和文档一样多)-这正常吗

有没有办法“批量”处理这些请求并通常加快复制过程


谢谢。

我想您使用的是
backdb.replicate
功能

在这种情况下,请尝试修改
batch\u size
选项:

PouchDB.replicate('mydb', 'http://localhost:5984/mydb', {batch_size: large_val})
其中
large\u val
高于默认值
100
。值越高,复制应该越快,但它将使用的内存越多,因此请小心


编辑:还要注意默认为
10
的选项
batches\u limit
。这是任何时候可以并行运行的请求数,因此内存中的文档数等于
batch_size*batch_limit

假设我有10k个条目,如果我将bacth_size设置为10000,我将只有一个请求吗?@abernier这就是想法。最大限度地减少这样的数据库复制所需时间的最佳方法之一是最大限度地减少请求数,因此尽可能安全地将请求数设置得尽可能高。这10000个条目中的每一个都将同时加载到内存中,因此请确保您要上载到的设备具有足够的内存。请注意,我的回答中的编辑提到了
batches\u limit
。这与您的问题没有严格的关系,但明确地使用websql作为本地适配器对我的应用程序的速度产生了很大的影响:new-pockDB('name',{adapter:'websql'})