Anybody running svnserve?
Performance is usually horrible. The average time to do something like 'svn list' runs anywhere from 30 seconds to a little over a minute, and that's on directories with 5-6 entries. Commits are even worse. This happens even if I ssh into my linode and connect to svnserve via the loopback interface. Other than that, things are snappy over the SSH connection, so I'm almost certain that it's not network slowness in general. Additionally, I tried dumping a repository and dropping it on a dedicated server that a client has, and operations are significantly faster.
I have the same problem on repositories that are small (2-3 revisions, maybe a handful of files) and large (40+ revisions, thousands of files). I have tried using both bdb and fsfs repositories, and get essentially the same performance with both.
I'm not having problems with io tokens … I've monitored /proc/io_status during operations, and I generally never drop below 390,000 tokens.
Any ideas?
3 Replies
Also emerge sysstat and monitor 'iostat -k -d 1' and see what IO rate you see
I haven't used svnserve, but I'm running a Subversion server via Apache 2, and response times are as fast as ssh.
thelsdj -- using file:/// on the linode is much faster. Below is the output from iostat, starting just before I issue an svn list and running until just after I got the output. It appears that for most of the time that I am waiting, nothing is happening.
I did switch to the mod_svn implementation per graham's suggestion, and that has solved the problem, but I would still like to know what is going on with svnserve, if possible.
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 29.66 43.72 17.06 10276589 4010842
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 1.98 0.00 14.85 0 15
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 3.96 0.00 6.93 0 7
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 1.00 4.00 0.00 4 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 24.00 0.00 79.00 0 79
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 1.98 0.00 3.96 0 4
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 307.00 2001.00 308.00 2001 308
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 71.00 645.00 65.00 645 65
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 96.00 420.00 151.00 420 151
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 43.00 156.00 0.00 156 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 40.59 128.71 0.00 130 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 72.28 61.39 1456.44 62 1471
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 15.84 74.26 0.00 75 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 26.21 120.39 0.00 124 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 20.59 72.55 0.00 74 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 23.00 52.00 0.00 52 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 80.00 131.43 184.76 138 194
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 13.00 62.00 0.00 62 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 13.00 102.00 0.00 102 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 25.00 133.00 0.00 133 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 11.76 109.80 0.00 112 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 27.72 0.00 166.34 0 168
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
dev98-0 0.00 0.00 0.00 0 0