[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion trunk (r1078338) HTTP(/WC?) performance problems?

From: John Beranek <john_at_redux.org.uk>
Date: Thu, 10 Mar 2011 12:24:37 +0000

On 10/03/11 06:34, Ivan Zhakov wrote:
> On Thu, Mar 10, 2011 at 01:23, John Beranek <john_at_redux.org.uk> wrote:
>> On 09/03/2011 20:17, Ivan Zhakov wrote:
>>> On Tue, Mar 8, 2011 at 22:07, Greg Stein <gstein_at_gmail.com> wrote:
>>>> On Tue, Mar 8, 2011 at 12:34, Ivan Zhakov <ivan_at_visualsvn.com> wrote:
>>>>> ...
>>>>> It seems I found reason why ra_serf is slower than ra_neon. ra_serf
>>>>> sends CHECKOUT request for _each_ folder and file that being imported,
>>>>> while ra_neon perform it only for root directory. Maybe DAV experts
>>>>> can answer which behavior is correct: should WebDAV client CHECKOUT
>>>>> each resource being modified or it's fine to CHECKOUT only the root of
>>>>> commit operation?
>>>>
>>>> There is no other WebDAV server to talk to, besides our own. That is
>>>> one of the primary rationales behind the HTTPv2 effort: recognizing
>>>> reality, rather than living in an theoretical world.
>>>>
>>>> Thus, if Neon's approach works with our server, then ra_serf can go
>>>> ahead and use that approach, too.
>>>>
>>> Hi Greg,
>>>
>>> My investigations was wrong: actually ra_neon doesn't send CHECKOUT
>>> request only for sub-directories and file of directories being added
>>> in the same commit. We still have to CHECKOUT directories when using
>>> HTTPv1 to provide baseline.
>>>
>>> Anyway I've implemented ra_neon's approach in r1079967.
>>>
>>> John,
>>>
>>> Could you please provide timings of 'svn import' with updated
>>> Subversion trunk and Serf trunk?
>>
>> Apparently fixed!
>>
>> To a remote 1.6.15 server:
>> ra_serf: 18 seconds
>> ra_neon: 16 seconds
>>
> I see that ra_serf still little bit slower than ra_neon.

OK, so I:

* Changed my benchmark took to allow the test to be reported N times,
and moved to microsecond timers.
* Set up a fresh repository on a 1.6.15 server, with no post-commit
triggers.

So, with 10 iterations:
 ra_neon: 16.01
 ra_serf: 15.94

Cheers,

John.

-- 
John Beranek                         To generalise is to be an idiot.
http://redux.org.uk/                                 -- William Blake

Received on 2011-03-10 13:25:11 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.