couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lawrence Pit <lawrence....@gmail.com>
Subject Re: Faster updates, optional ACID
Date Tue, 06 Jan 2009 21:44:46 GMT


Chris Anderson asked me this earlier on the user list:

 > Quick question: was this version of CouchDB built freshly against the
 > latest Erlang? We've noticed that some performance changes on an
 > Erlang upgrade don't appear until after Couch is rebuilt.

Given your results below I started thinking my memory wasn't serving me 
right probably... usually I build from source, and I'm pretty sure I did 
with couchDB, but now also remember I /tried/ installing it from darwin 
ports or something similar, pre-compiled stuff, which, to my best 
recollection, didn't work.

I don't know erlang that well..... could it be possible that the sources 
I have for 0.8 were compiled with R12B-3, which when run under R12B-5 
give good results, while if those sources are compiled with R12B-5 give 
bad results?



Cheers,
Lawrence

> For completeness sake:
>
> The previous results were against Erlang R12B-5.
>
> Here's R12B-3 which doesn't have the fsync() fix:
>
> CouchDB 0.8.0:
> Requests per second:    184.42 [#/sec] (mean)
>
>
> CouchDB 0.8.1:
> Requests per second:    185.74 [#/sec] (mean)
>
>
> CouchDB trunk r731451 (pre-async-commit-patch):
> Requests per second:    199.30 [#/sec] (mean)
>
> Cheers
> Jan
> -- 
>
> On 6 Jan 2009, at 16:10, Jan Lehnardt wrote:
>
>>
>> On 6 Jan 2009, at 14:56, Lawrence Pit wrote:
>>
>>> Interesting indeed. I was seeing:
>>>
>>> CouchDB/0.8.0-incubating
>>>
>>> I assume that is different from CouchDB 0.8.1 ?
>>
>>
>> CouchDB 0.8.0:
>>
>> Requests per second:    5.29 [#/sec] (mean)
>>
>> Cheers
>> Jan
>> -- 
>>
>>>
>>> Cheers,
>>> Lawrence
>>>
>>>> Interesting.  I wonder that Lawrence was seeing...
>>>>
>>>> On Jan 6, 2009, at 7:11 AM, Jan Lehnardt wrote:
>>>>
>>>>>
>>>>> On 6 Jan 2009, at 00:46, Geir Magnusson Jr. wrote:
>>>>>>
>>>>>> It was reported that w/ the same up-to-date version of erlang, 
>>>>>> they found a big performance difference between 0.8 and current 
>>>>>> trunk.  If that's true, then it seems to me that something 
>>>>>> changed in the filesystem handling in the CouchDB code itself - 
>>>>>> it could be that there are multiple flush modes, and the 0.8 code

>>>>>> used whatever corresponds to fsync(), and trunk uses whatever 
>>>>>> corresponds to fnctl(F_FULLSYNC).  I don't know  It's a guess.  
>>>>>> But yesterdays results are unexplained, and I hate mysteries.
>>>>>
>>>>> $ ab -c 10 -n 1000 -p emptypost -T 'application/json'  
>>>>> http://127.0.0.1:5984/test_suite_db
>>>>>
>>>>> CouchDB 0.8.1:
>>>>> Requests per second:    6.56 [#/sec] (mean)
>>>>>
>>>>> CouchDB trunk r731451 (pre-async-commit-patch):
>>>>> Requests per second:    5.94 [#/sec] (mean)
>>>>>
>>>>>
>>>>> Cheers
>>>>> Jan
>>>>> -- 
>>>>
>>>>
>>>
>>>
>>
>>
>
>


Mime
View raw message