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

Performance too low --> trying to debug --> problems compiling

From: Harvey, Edward <Edward.Harvey_at_patni.com>
Date: Sat, 5 Apr 2008 18:22:18 -0400

The core of the problem I'm trying to solve right now is thus:

I have a 2.1G working copy (including .svn files) of 43,000 files (not including .svn files). Naturally everything I do seems to take forever, but I talked with some other people at another company with just as much stuff, and they say theirs works fine. So I'm trying to figure out how I can improve this. I did some basic top / iostat / wireshark, and found this:

I do "svn update" and I see svn climb up the top, to occupy 2 or 3 % of the processor, but mostly sleeping, presumably iowait. Yet iostat shows very bursty disk usage, one second there's no io, the next second a huge burst, and so on. 6.5 minutes later, wireshark shows the first packets going out to my svnserve. It seems svn must walk the whole tree before it contacts the server? And for the next 4 minutes, it bounces around between mostly idle, bursty local disk, and bursty network traffic (downloading files). For a total of 10 minutes before the command completes.

So I'm trying to figure out what svn is doing with its time. I'd really like something like svn update --verbose, or svn update --debug, but it doesn't seem to exist.

So then I took a guess that I could probably get some debugging option turned on if I recompile from source (previously always installed from rpm).

If anyone knows a better way to detect what svn is spending its time doing, please let me know. I'd love to skip the compile.

But if we don't come up with a better way of debugging above, here's my compile problem...

RHEL 4u5 x86_64. Not much customization; basically out-of-the-box.

tar xzf subversion-1.4.6.tar.gz

tar xzf subversion-deps-1.4.6.tar.gz

cd subversion-1.4.6

      ./configure --prefix=/home/eharvey/local

      (Everything looks good, but warning about no Berkeley DB)

      make

Error as follows:

cd subversion/libsvn_ra_dav && /bin/sh /scratch/eharvey/subversion-1.4.6/libtool --tag=CC --silent --mode=link gcc -g -O2 -g -O2 -pthread -rpath /scratch/eharvey/local/lib -o libsvn_ra_dav-1.la commit.lo fetch.lo file_revs.lo log.lo merge.lo options.lo props.lo replay.lo session.lo util.lo ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la /scratch/eharvey/subversion-1.4.6/apr-util/libaprutil-0.la -lexpat /scratch/eharvey/subversion-1.4.6/apr/libapr-0.la -lrt -lm -lcrypt -lnsl -lpthread -ldl /scratch/eharvey/subversion-1.4.6/neon/src/libneon.la -lz

/usr/bin/ld: /scratch/eharvey/subversion-1.4.6/neon/src/.libs/libneon.a(ne_request.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

/scratch/eharvey/subversion-1.4.6/neon/src/.libs/libneon.a: could not read symbols: Bad value

collect2: ld returned 1 exit status

make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1

I've tried everything I could think of - export CXXFLAGS=-fPIC, editing Makefile, googling around, searching this list, run it as root, with or without the prefix, export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

Still no luck.

________________________________
This e-mail message may contain proprietary, confidential or legally privileged information for the sole use of the person or entity to whom this message was originally addressed. Any review, e-transmission dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this e-mail in error kindly delete this e-mail from your records. If it appears that this mail has been forwarded to you without proper authority, please notify us immediately at netadmin_at_patni.com and delete this mail.
Received on 2008-04-06 00:23:04 CEST

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