Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-2151

'svn ls' is slow over ra_dav, and way slower w/ ra_dav+FSFS

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: all
    • Fix Version/s: 1.4-consider
    • Component/s: libsvn_ra_neon
    • Labels:


      This is based on issue #1492.  That issue had so much (now-obsolete) history
      that it was getting cumbersome.  The still-relevant parts are below, paraphrased
      from Philip Martin's comments of late November 2004 in issue #1492.
      Create three repositories:
         stress.pl -c -n0 -F200 -D1 -N1
         mv repostress repo-200
         stress.pl -c -n0 -F400 -D1 -N1
         mv repostress repo-400
         stress.pl -c -n0 -F800 -D1 -N1
         mv repostress repo-800
      Then time how long it takes to run ls on the trunk:
         time svn ls http://localhost/repo-200/trunk > /dev/null
         time svn ls http://localhost/repo-400/trunk > /dev/null
         time svn ls http://localhost/repo-800/trunk > /dev/null
      With the BDB backend:
                     200    400    800
         ra_local    0.6    1.4    4.5
           ra_svn    0.6    1.5    4.6
           ra_dav    2.4    5.6   16.3
      and the FS backend:
                     200    400    800
         ra_local    0.3    0.4    0.8
           ra_svn    0.3    0.5    0.9
           ra_dav    4.4   14.3   49.1
      ra_local and ra_svn give very similar times, but ra_dav is much slower.
      (Perhaps we just have to accept that ra_dav is slower since it is not a
      dedicated Subversion protocol?)
      Notice how with FSFS, ra_local and ra_svn get faster, but ra_dav gets slower. 
      That's very odd.
      All times are wall-clock time, measured on a dual CPU machine, with an optimized
      svn build.


        Issue Links



            • Assignee:
              kfogel Karl Fogel


              • Created:

                Issue deployment