couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Holth <>
Subject CouchDB 2.0 notes
Date Wed, 30 Nov 2016 14:51:53 GMT
I've been using CouchDB 2 in production with a patch to unconditionally
enable proxy authentication, using a single node with sharding per a
default klaemo docker-couchdb setup. I was using a single 1.6 node and am
not ready to maintain two additional servers. Here are my notes.

I need CouchDB 2 because it supports faster replication to PouchDB. This
works very well. Replications between 1.6 and 2.0 also work well.

Not able to run as many concurrent filtered replications. CouchDB 2.0
doesn't seem to be able to support as many filtered replications, or run as
many couchjs servers as CouchDB 1.6, even though it's configured for an
unlimited number of open files. Maybe this is because it is talking to
several underlying databases? If the max number of couchjs servers is
configured to be more than perhaps 100, CouchDB doesn't even start any.
When enough replications fail, it gets into a state where the server must
be completely restarted.

Mango works. Filtered replications with Mango seem to be (much) faster than
with couchjs.

To solve the concurrent replication performance problem, like others before
me, I'm no longer running continuous replications. Instead, a script
watches _global_changes, and does one-shot, Mango-filtered replications to
the collector database whenever a per-user database changes. Each 'catchup'
replication takes about a second. This seems to work very well.

_purge is not implemented on the cluster web interface.

The new CouchDB web interface assumes everything is under /, but my CouchDB
is reverse proxied into a subfolder, so I have to bypass the proxy to use


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message