On Wed, May 5, 2010 at 9:21 AM, Brendan Farr-Gaynor <bren...@resolutionim.com> wrote: > I run a small team of web developers (6) who all work from an in-house > repository. > We make lots of commits and often and notice the performance gets pretty bad. > Sometimes taking as long as 2 minutes to commit a change. We rely a lot on > server- > side software so we often need to commit to see what our code will do, this > can get > painful during a debug process where as a developer you'll often want to > commit > many little changes quickly within the span of 5-10 minutes.
We have a much larger team and an even crappier server, and we have no performance issues. Subversion isn't exactly a big iron performance sucking application. It's pretty light weight. The biggest issues tend to be network bandwidth rather than server performance. A few issues that you might want to look at: * The Subversion server (like any server system) should be dedicated to Subversion. It's not like Subversion needs a lot of horsepower, but other disk intensive processes can hamper performance. With hardware being so cheap these days, there's no reason not to have a dedicated server. I notice you said you're using Mac OS X Server as your Subversion server. What else is that server doing? By the way, we tend to use Linux servers, so I've never ran Subversion on Mac OS X Server (I have on my personal Mac, though without problems, but not with serving a half dozen people). * Check to make sure the problem isn't with hook scripts. Hook scripts that take a long time to run will slow things down. * Don't store binary files in Subversion -- especially big ones that change a lot. Use a Release Repository or a Build Server to store binaries. We use Nexus and Hudson. * Check to make sure that the problem isn't due to the anti-virus software on Windows machines. Subversion makes a lot of files on the local workspace. For example, if you check out 100 files, Subversion not only sends out those 100 files over the network, but creates 100 copies of those files as part of the BASE in order to compare changes. That saves bandwidth when doing "svn diff", but it can cause many anti-virus checkers to slow down the local machine. * Switch to using "svn" using "svnserve" instead of "http" using "Apache's httpd" and see if that speeds things up. Apache can be a bit slow -- especially if it has a lot of plugins added into to it. -- David Weintraub qazw...@gmail.com