Hi, The main reason is that 1.6 has couchdb/delayed_commits[1] = true by default while 2.0 has it false instead to safe you from fun of distributed issues. No delayed commits means that every write operation hits the disk with fsync() call without any intermediate buffering which delayed commits create (for 5 seconds). Add here a short overhead for cluster wide communications and here is your difference.
P.S. Yes, that's annoying drawback, but so far there is nothing to do with it, except setup real cluster and balance the load over it. [1]: http://docs.couchdb.org/en/1.6.1/config/couchdb.html#couchdb/delayed_commits -- ,,,^..^,,, On Fri, Mar 4, 2016 at 12:24 AM, Peyton Vaughn <[email protected]> wrote: > Hello, > > I've been using 1.6 for several months now, and wanted to try out 2.0. But > from the start, I'm experiencing much slower performance with 2.0. In both > cases I'm using the docker images (klaemo/couchdb:1.6 and > klaemo/couchdb:2.0-dev), with a small program that pushes a few thousand > documents to benchmark. The same program takes significantly longer to > finish when I push to the couch 2.0 instance (~45 seconds vs several > minutes). > > I run the containers on the same 4-cpu virtual machine (not at the same > time of course). I run the 2.0 instance as instructed on docker hub: > docker run -p 5984:5984 --rm klaemo/couchdb:2.0-dev > --with-admin-party-please --with-haproxy -n 1 > > The difference in performance is big enough that I figure it must only be > me, but I don't know what I might be doing wrong. > > Any insight would be greatly appreciated! > > Peyton Vaughn
