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?
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,
You might be interested in knowing that the 1.7 release of SVN will feature a faster HTTP protocol. The new
mod_dav_svn
module will support both the old and the new HTTP protocol.I'd go with HTTP and upgrade to SVN 1.7 to fix the performance penalty later. It's a bit more work, but it has the advantage that you can use any of the Apache authentication modules. This is great to avoid introducing yet another user password. For example, you can integrate with your windows domain controller.
Taken from this resource,
The author also provides a benchmark comparing the two.
I run snvserv that serves about 50 repositories on Berkely DB backends and have had no complaints on the performance. As a side note there are only 10 users, though.
I actually found svnserve very easy to install and maintain and doesn't penalise you in lack of futures. SSH can be enabled for svnserve and path based security is also possible if you're the '"one repository, many projects" kind of guy' Steve Robbins talks about :)