incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filipe David Manana <fdman...@apache.org>
Subject Re: CouchDB performance
Date Thu, 11 Aug 2011 22:27:47 GMT
You might want to try to set the TCP socket option nodelay to false.
It makes a huge difference for me on Linux:

https://github.com/apache/couchdb/blob/1.1.0/etc/couchdb/default.ini.tpl.in#L26

Also, as Adam said there's a JSON parser implemented in C, but only in
subversion's trunk, not yet in any official release.
In trunk, you also have snappy compression and other performance
improvements you might want to try out.
Some of these are in this blog post:

http://blog.couchbase.com/driving-performance-improvements-couchbase-single-server-20

On Thu, Aug 11, 2011 at 12:29 PM, John Cheng <johnlicheng@gmail.com> wrote:
> On Thu, Aug 11, 2011 at 11:36 AM, John Cheng <johnlicheng@gmail.com> wrote:
>
>> On Thu, Aug 11, 2011 at 11:02 AM, Adam Kocoloski <kocolosk@apache.org>wrote:
>>
>>> 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,
>>>
>>> Adam
>>>
>>
>> It does help here. I'll see if I can get compile the latest version of
>> CouchDB on Ubuntu 10 LTS. It's been an adventure trying to compile CouchDB
>> so far!
>>
>
>
> Just compiled CouchDB 1.1.0
>
> Testing with doc target size = "100 kB", # of properties = "10", updates =
> "500", numDocs = "100"
> each document is approximately 100.1 kB
> Using increment handler function to perform update
> 500 updates in 42.1960351467 seconds, 11.8494545343 ops/second
>
> Now the updates dropped from 23 updates/sec to 11.84 updates/second
>
> Even inserts dropped to 24 inserts/second. Accroding to iostat, CPU was
> mostly idle (~85 to 92%) and I'm only getting 300 kB writes per second.
>
> I guess this could be a problem with httplib2. Is there any configuration or
> compile time options I may have missed that could cause such a big drop in
> performance?
>
> --
> ---
> John L Cheng
>



-- 
Filipe David Manana,
fdmanana@gmail.com, fdmanana@apache.org

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."

Mime
View raw message