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

svn ls performance tests (was: "weird performance problem")

From: Ariel Arjona <beerfrick_at_gmail.com>
Date: 2004-09-29 07:18:11 CEST

I did some testing at my home linux install:

I created a repository and imported the squirrelmail source. The svn
and apache that I installed here via emerge are version 1.1.0rc2 and
2.0.51-r1 respectively.

doing:
$ svn ls http://127.0.0.1/svnrep/squirrelmail/trunk
returned the directory listing in a split-second (around 26 files and
dirs). Upon running strace I noticed that on this version, while it
does contain bunches of stat/lstat calls like on the truss dump from
solaris (it was determined that it's a normal thing for apache), it
only contained those blocks for the files that were outputted by svn
ls. In other words, only 26 blocks.

Then I downloaded the apache 2.0.51 tarball from apache.org and the
1.1.0rc4 tarball from the svn site, and built them similarily to how I
have them setup in my solaris server.
Apache was built with:
./configure --prefix=/subversion/local/apache2 \
--exec-prefix=/subversion/local \
--disable-ipv6 \
--enable-shared \
--enable-dav

SVN was build with:
./configure --prefix=/subversion/local \
--with-neon=/usr \
--with-apxs=/subversion/local/bin/apxs \
--with-apr=/subversion/local \
--with-apr-util=/subversion/local \
--includedir=/subversion/local/apache2/include \
--libdir=/subversion/local/lib

And svn ls took about 3 seconds to run! The strace dump shows that
it's checking hundreds of files like on solaris.

However, just to be sure, I wiped the /subversion dir and started
over, only this time with the svn-1.1.0rc2 tarball from the svn site.
Build procedure was exactly the same and svn ls yielded a sub-second
response! The strace dump, just like with the gentoo version showed
that it was checking only the ~26 files present in the svn ls output.

I then wiped the dir again and repeated the whole thing, only with
svn-1.1.0rc3, and it worked like a charm, like rc2.

Then wipe/install rc4, for good measure: bad performance again.

It must be noted as well that the tests yielded the same results using
as client the gentoo rc2 binary or any of the ones I compiled myself.

So, it looks like a regression of some sort happened between rc3 and
rc4. I'll perform these tests tomorrow on the solaris box to
double-check. I'm also attaching gzipped strace logs of both the rc3
and rc4 runs.

Regards,
Ariel

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Wed Sep 29 07:19:25 2004

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.