incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <>
Subject Re: CouchDB performance
Date Thu, 11 Aug 2011 18:02:03 GMT
Hi John, first thing I'd point out is that Filipe and Paul have done quite a lot of work on
the JSON processor since 1.0.2 was released.  Trunk contains a JSON processor that calls out
to YAJL instead of relying on pure Erlang code.  The improvement for large document bodies
is pretty substantial.  Also, processing MBs of JSON is going to be CPU-bound in 1.0.2.  CouchDB
makes good use of multicore servers to distribute some of the load if you throw concurrent
requests at it.  Hope that helps,


On Aug 11, 2011, at 1:54 PM, John Cheng wrote:

> I published some Python scripts to help me evaluate the performance of
> CouchDB ( I was hoping the folks
> here can help me understand what I am seeing.
> The raw spreadsheet of my findings:
> First, I've found that the Document Update Handler API performed worse than
> using Python to get, modify, then update the document when the application
> code is running on the same machine as CouchDB. This is surprising to me. It
> leads me to believe that when the network is not a bottleneck, it might be
> better to avoid update handers.
> Second, the insert performance is not as good as I'd hoped - at least for
> large documents (100 kB+). The update performance is even worse. When using
> the "" script with a DOCSIZE of 100 kB and a BULKSIZE of 15, I
> am seeing about 12 inserts per second. Using my Python script, I was seeing
> 81 inserts/second and 30 updates/seconds for 100 kB documents. This is on a
> single 7200 rpm SATA drive. A write performance of 3 MB per second seems
> low.
> In brief, there are two things I can learn more about: Is is expected for
> the Document Update API to be slower? Two, does this kind of write and
> update performance look right?
> This is a Ubunut 10.01 system with
> 900GB 7200 rpm SATA drive
> CouchDB 1.0.2 compiled using
> And the stock CouchDB 0.10.0 from Ubuntu has similar performance as well.

View raw message