views:

1381

answers:

2

We plan to install a Subversion repository in an environment where the network is quite slow on its own. The previous VCS used there was VSS, and it was a nightmare to use it (not only because of its "feature").

So, my question is the choice between Svnserve and the apache module. I know that the apache module will be slower due to the stateless protocol, but I've no idea how much is the increase of the time it implies.
Is there somewhere some benchmarks or rules that indicate the average difference of speed between the two servers?

+1  A: 

From my own benchmarking I found virtually no difference between the DAV, SVN and FILE when doing operations on a repo around the 500meg mark. The main advantage with the DAV model is the more granular security you get, especially if you are a "one repo, many projects" kind of guy,

Steven Robbins
+2  A: 

taken from: this resource

In most cases, if the version control system Subversion's performance is discussed, the topics revolve around the repository backends used (Berkeley DB (bdb) vs. FSFS) and tuning some server software or even hardware parameters.

It seems to be less known that the choice of the server variant used - the Apache Subversion mod_dav_svn module or the standalone svnserve server - have a great impact to measured and perceived subversion performance. Usually svnserve is significantly faster than Apache mod_dav_svn

In a synthetic, non-representative benchmark test I performed using Subversion 1.4.5, Subversion 1.1.1 and Apache 2.0, mod_dav_svn's performance was 30% to 400% slower than svnserve's. svnserve's performance was close to local direct accesses to the repository using the svn command line tools.

The most significant performance penalty was measured during svn log and svn merge operations against the mod_dav_svn server - you'll notice worse svn log performance immediately if eg. using the Eclipse Subversion plugin Subclipse.

The author also provides a benchmark comparing the two.

I run snvserv that serves about 50 repositories on BerkelyDB backends and have had no complaints on the performance. As a side note there's only 10 users though.

I actually found svnserve very easy to install and maintain and doesnt penalty you in lack of futures. SSH can be enabled for svnserve and path based security is also possible if your the '"one repo, many projects" kind of guy' Steve Robbins talks about :)

Martijn Laarman