On Tue, Mar 8, 2011 at 19:49, Philip Martin <philip.martin_at_wandisco.com> wrote:
> Ivan Zhakov <ivan_at_visualsvn.com> writes:
>
>> So, as a comparison, I ran the same tests to a localhost trunk(r1078338)
>> server. Fedora 14 x86_64, Apache 2.2.17.
>>
>> trunk (http-library=neon):
>> real 0m20.785s
>> user 0m0.912s
>> sys 0m1.659s
>>
>> trunk (http-library=serf):
>> real 0m21.351s
>> user 0m0.873s
>> sys 0m1.639s
>> ]]
>>
>> But with remote server running 1.6.16:
>> [[[
>> trunk (http-library=neon):
>> real 0m15.881s
>> user 0m0.968s
>> sys 0m1.029s
>>
>> trunk (http-library=serf):
>> real 2m45.159s
>> user 0m1.057s
>> sys 0m1.169s
>> ]]]
>>
>> 15 seconds with ra_neon against 2:45 minutes with ra_serf.
>
> Importing a Subversion wc, client on laptop, server on desktop, across
> LAN:
>
> 1.6.x client, 1.6.x server, serf : 20s
> trunk client, 1.6.x server, serf : 34s
> 1.6.x client, trunk server, serf : 20s
> trunk client, trunk server, serf : 34s
> any client, any server, neon : 20s
>
> So here it's serf-0.7.1 that has the performance problem.
>
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?
--
Ivan Zhakov
Received on 2011-03-08 18:35:00 CET