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

subversion 0.26 performance problem

From: Martin MAURER <martin.maurer_at_email.de>
Date: 2003-08-03 16:32:23 CEST

Please CC me in replies - i am not subscribed to this list.

Hi everybody,

I got quite a strange subversion performance problem:
i have a repository consisting of the web tree of my company.
(the data is not important, it has been created using the backups - just
evaluating svn at the moment)
the repo consists of about 30.000 files in 55 revisions.
The SVN dir has 388 MB

When i start "svnlook tree" on that repo, then it starts quite ok.
But as soon as it reaches a directory where i have about 4.000 images
(jpg,gif) it is getting very slow (a few seconds per file).
CPU is idle and Filesystem is not under heavy load too.

Similar problem when using "svnadmin dump". getting slow when the images
dir is reached. I even had a freeze after trying this one (only tried
once so far). I did a "svnadmin recover" before doing the "svnadmin
dump".

I realized this problem, when i tried to access the repository using
viewcvs (from cvs). I can browse most parts of the repository, but when
i reach the images directory i get a timeout and when i let viewcvs run
for a _long_ time (hours), then it gets killed (i guess because of
memory).

I did one test which did NOT reproduce that problem: i copied all the
4000 images to another direcoty and created a new repository just
importing them. importing is quite slow, but i guess thats ok. svnlook
then works perfectly. (don't know if that information helps, but better
telling too much than too little :)

I use svn 0.26 on debian sid.
(as you see below: db-4.1)

greetings
Martin Maurer

some additional data:
(509)(0)/scratch/lonestar> ldd /usr/bin/svnlook
        libsvn_repos-1.so.0 => /usr/lib/libsvn_repos-1.so.0 (0x40027000)
        libsvn_fs-1.so.0 => /usr/lib/libsvn_fs-1.so.0 (0x4003b000)
        libsvn_delta-1.so.0 => /usr/lib/libsvn_delta-1.so.0 (0x4005c000)
        libsvn_diff-1.so.0 => /usr/lib/libsvn_diff-1.so.0 (0x40064000)
        libsvn_subr-1.so.0 => /usr/lib/libsvn_subr-1.so.0 (0x4006a000)
        libaprutil-0.so.0 => /usr/lib/libaprutil-0.so.0 (0x4008c000)
        libldap.so.2 => /usr/lib/libldap.so.2 (0x4009f000)
        liblber.so.2 => /usr/lib/liblber.so.2 (0x400d8000)
        libdb-4.1.so => /usr/lib/libdb-4.1.so (0x400e5000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x40192000)
        libapr-0.so.0 => /usr/lib/libapr-0.so.0 (0x401af000)
        librt.so.1 => /lib/librt.so.1 (0x401cb000)
        libm.so.6 => /lib/libm.so.6 (0x401dc000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x401fe000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x4022b000)
        libdl.so.2 => /lib/libdl.so.2 (0x4023e000)
        libc.so.6 => /lib/libc.so.6 (0x40241000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x40351000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x403a0000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x403b1000)
        libgnutls.so.7 => /usr/lib/libgnutls.so.7 (0x403c3000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
        libtasn1.so.0 => /usr/lib/libtasn1.so.0 (0x403f5000)
        libgcrypt.so.1 => /usr/lib/libgcrypt.so.1 (0x40403000)
        libz.so.1 => /usr/lib/libz.so.1 (0x4043b000)

(510)(0)/scratch/lonestar> ldd /usr/bin/svn
        libsvn_client-1.so.0 => /usr/lib/libsvn_client-1.so.0
(0x40027000)
        libsvn_wc-1.so.0 => /usr/lib/libsvn_wc-1.so.0 (0x40044000)
        libsvn_ra-1.so.0 => /usr/lib/libsvn_ra-1.so.0 (0x40066000)
        libsvn_diff-1.so.0 => /usr/lib/libsvn_diff-1.so.0 (0x40069000)
        libsvn_ra_local-1.so.0 => /usr/lib/libsvn_ra_local-1.so.0
(0x4006f000)
        libsvn_repos-1.so.0 => /usr/lib/libsvn_repos-1.so.0 (0x40074000)
        libsvn_fs-1.so.0 => /usr/lib/libsvn_fs-1.so.0 (0x40087000)
        libsvn_ra_dav-1.so.0 => /usr/lib/libsvn_ra_dav-1.so.0
(0x400a9000)
        libsvn_ra_svn-1.so.0 => /usr/lib/libsvn_ra_svn-1.so.0
(0x400ba000)
        libsvn_delta-1.so.0 => /usr/lib/libsvn_delta-1.so.0 (0x400c4000)
        libsvn_subr-1.so.0 => /usr/lib/libsvn_subr-1.so.0 (0x400cc000)
        libaprutil-0.so.0 => /usr/lib/libaprutil-0.so.0 (0x400ee000)
        libldap.so.2 => /usr/lib/libldap.so.2 (0x40101000)
        liblber.so.2 => /usr/lib/liblber.so.2 (0x4013a000)
        libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40147000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x401f4000)
        libapr-0.so.0 => /usr/lib/libapr-0.so.0 (0x40211000)
        librt.so.1 => /lib/librt.so.1 (0x4022d000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4023e000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x4026c000)
        libdl.so.2 => /lib/libdl.so.2 (0x4027f000)
        libneon.so.23 => /usr/lib/libneon.so.23 (0x40282000)
        libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7
(0x40297000)
        libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7
(0x402c6000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x403b7000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x4049d000)
        libz.so.1 => /usr/lib/libz.so.1 (0x404ec000)
        libm.so.6 => /lib/libm.so.6 (0x404f9000)
        libc.so.6 => /lib/libc.so.6 (0x4051a000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x4062a000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x4063b000)
        libgnutls.so.7 => /usr/lib/libgnutls.so.7 (0x4064d000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
        libtasn1.so.0 => /usr/lib/libtasn1.so.0 (0x4067f000)
        libgcrypt.so.1 => /usr/lib/libgcrypt.so.1 (0x4068d000)

Received on Sun Aug 3 16:42:19 2003

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