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

Re: weird performance problem

From: Ariel Arjona <beerfrick_at_gmail.com>
Date: 2004-09-28 17:18:28 CEST

I'm attaching a truss trace of httpd. I created a repository with a
single import, to isolate the problem more. I also turned off all but
the most essential modules in Apache (which I upgraded to 2.0.51).

Upon doing svn ls http://rep/squirrelmail/trunk I see countless blocks of

##############################################
28171: stat("/subversion/local/apache2/htdocs/svnrep/!svn/ver/21/squirrelmail/trunk/plugins/compatibility",
0xFFFFFFFF7FFF7EB0) Err#2 ENOENT
28171: lstat("/subversion", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2/htdocs", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2/htdocs/svnrep",
0xFFFFFFFF7FFF7EB0) Err#2 ENOENT
28171: stat("/subversion/local/apache2/htdocs/svnrep/!svn/ver/21/squirrelmail/branches/squirrelmail_dev_20040729/functions/htmlentities/utf-8.php",
0xFFFFFFFF7FFF7EB0) Err#2 ENOENT
28171: lstat("/subversion", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2/htdocs", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2/htdocs/svnrep",
0xFFFFFFFF7FFF7EB0) Err#2 ENOENT
28171: stat("/subversion/local/apache2/htdocs/svnrep/!svn/ver/21/squirrelmail/tags",
0xFFFFFFFF7FFF7EB0) Err#2 ENOENT
28171: lstat("/subversion", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2/htdocs", 0xFFFFFFFF7FFF7EB0) = 0
28171: lstat("/subversion/local/apache2/htdocs/svnrep",
0xFFFFFFFF7FFF7EB0) Err#2 ENOENT
28171: stat("/subversion/local/apache2/htdocs/svnrep/!sv
#############################

It seems to be iterating through every file in the rep. When the repos
had /squirrelmail/branches and trags, it iterates through those as
well.

Regards,
Ariel

On Sat, 25 Sep 2004 13:01:07 -0500, Ariel Arjona <beerfrick@gmail.com> wrote:
> Hello,
>
> I'm cc'ing both svndev and tsvndev lists as I'm not sure to which this
> really belongs. I was hoping you guys could help me figure it out.
>
> My setup
> =========
> Server:
> Solaris 8 on SPARC-UE
> svn 1.1.0rc4
> apache 2.0.49
> Everything compiled for 64-bit with -fast -xarch=v9
> Test Repos: have a bdb and a fsfs copy of the same rep. About 120 MB
> in size. 3 modules imported, multiple branches and tags. About 110
> revisions so far. One of the modules is the Squirrelmail source tree,
> which I'll use as an example.
>
> Client:
> Windows 2000 Professional SP4 fully patched
> svn1.1.0rc4 precompiled command line client.
> TortoiseSVN 1.1.0RC2 built against svn 1.1.0rc3 downloaded from the
> tsvn website.
>
> Network:
> Client -> 100 Mbit LAN -> Server
> Client -> 2 Mbit line -> Internet
>
> My problem
> ===========
> My problem basically is that when I'm browsing the repository with
> TSVN's repo browser and I click on the [+] to expand a dir, the more
> subdirs it has, the longer it takes. For example, expanding the
> squirrelmail source tree at the root takes about 35 seconds. Here's a
> list of the tests I've made:
>
> Browsing
> * TSVN browsing my server via http, expanding the squirrelmail trunk. 35 secs.
> * TSVN browsing my server via svn://. Lightning fast, sub-second
> response to all dir expansions.
> * TSVN browsing http://svn.collab.net/repos/svn. Click to expand the
> trunk. 5 secs.
>
> Checkout/Commit/Log
> * All combinations of clients and servers perform very well.
>
> Web performance
> * Browsing the rep with ViewCVS-dev august snapshot has good
> performance. Click on /trunk of the Squirrelmail module and the
> response time is roughly 1-2 seconds if visiting for the first time.
> The Apache install is solely for svn purposes. The tests were
> performed at a time when my server had very little load in general.
>
> The apache logs show the following:
> *** Click to expand the 20040917 folder ***
> 128.11.30.2 - - [25/Sep/2004:11:49:13 -0500] "PROPFIND
> /svnrep/banistmo_lobby/prod/20040917 HTTP/1.1" 207 728
> 128.11.30.2 - - [25/Sep/2004:11:49:13 -0500] "PROPFIND
> /svnrep/!svn/vcc/default HTTP/1.1" 207 396
> 128.11.30.2 - - [25/Sep/2004:11:49:13 -0500] "PROPFIND
> /svnrep/!svn/bln/109 HTTP/1.1" 207 451
> 128.11.30.2 - - [25/Sep/2004:11:49:14 -0500] "PROPFIND
> /svnrep/banistmo_lobby/prod/20040917 HTTP/1.1" 207 728
> 128.11.30.2 - - [25/Sep/2004:11:49:14 -0500] "PROPFIND
> /svnrep/!svn/vcc/default HTTP/1.1" 207 451
> 128.11.30.2 - - [25/Sep/2004:11:49:14 -0500] "PROPFIND
> /svnrep/!svn/bc/109/banistmo_lobby/prod/20040917 HTTP/1.1" 207 740
> 128.11.30.2 - - [25/Sep/2004:11:49:14 -0500] "PROPFIND
> /svnrep/banistmo_lobby/prod/20040917 HTTP/1.1" 207 728
> 128.11.30.2 - - [25/Sep/2004:11:49:14 -0500] "PROPFIND
> /svnrep/!svn/vcc/default HTTP/1.1" 207 451
>
> *wait* *wait* *wait* *wait* *wait* *wait* *wait* *wait* *wait*
>
> 128.11.30.2 - - [25/Sep/2004:11:49:14 -0500] "PROPFIND
> /svnrep/!svn/bc/109/banistmo_lobby/prod/20040917 HTTP/1.1" 207 42212
> *** folder expanded ***
>
> So what I need to do is to improve the repo browsing performance onver
> HTTP on my server, to at least match the 5 seconds I get with the svn
> repos over the internet. Using svnserve, unfortunately is not an
> option as we depend on mod_auth_mysql for user validation. How can I
> find out what's slowing the folder expansion down?
>
> Many thanks for any insights on this problem.
>
> Ariel
>
> --
> ~
> :wq
>

-- 
~
:wq


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

Received on Tue Sep 28 17:19:32 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.