James A. N. Stauffer
James A. N. Stauffer

Reputation: 2659

How do I improve Windows Subversion client update performance?

How do I improve Subversion client update performance? It appears to be disk bound on the client.

Details:

I'm especially interested in answers besides getting a faster disk (especially configuration changes).

Updates from some of the suggestions:

Upvotes: 11

Views: 3600

Answers (8)

ks1322
ks1322

Reputation: 35706

Upgrade to svn 1.7

From Discussion of Slow Performance of SVN Update:

The update process in svn 1.6 goes something like this:

  1. search the entire working copy, to see what's there at the moment, and locking it so no one changes the answer during the next steps
  2. tell that to the server
  3. receive from the server whatever new stuff you need, applying the changes to the files as you go
  4. recurse over the entire working copy again, unlocking it

If there are many directories and files, steps 1 and 4 can take up a lot of time. This would be consistent with your observation of long delays with no network traffic.

Working copy format was changed in svn 1.7. Now all meta information is stored in SQLite database in root folder of working copy and there is no need to perform steps 1 and 4 any more which consumed most of the time durring svn update.

Upvotes: 0

Peter Friberg
Peter Friberg

Reputation: 21

I experience exatly the same thing. Recently replaced Perforce with svn, but if we cannot overcome the performance problems on Windows me must consider another tool. Using svn 1.6.6, Win XP and Vista clients. RedHat server. My observations matches yours:

  • Huge disk-write activity.
  • Antivirus not a bottleneck.
  • No matter witch svn-clients are used.
  • No server or network bottleneck.

Complementary info More than 3 times faster operations on:

  • Linux (Ubuntu).
  • Linux (Ubuntu) running on VirtualBox at Win Vista host.
  • Win XP running on VMWare at RedHat host.

Upvotes: 2

FraGMenTaToR
FraGMenTaToR

Reputation: 11

Try svn client version 1.5.. It helped me on my Vista laptop. Versions 1.6. are extremely slow.

Upvotes: 1

Dan
Dan

Reputation: 356

Nobody seems to be pointing out the one reason that I often consider a design flaw. Subversion creates a second "pristine" copy of the checkout for offline operations. If you're checking out 4G of files, it's actually writing 8G to disk.

Compare a checkout to an export. That will show you the massive difference when writing those second copies.

There's nothing you can do about that.

Upvotes: 0

PowerfulMojo
PowerfulMojo

Reputation: 41

Do you run a virus checker that uses on-access scanning? That can really make it crawl. If so, turn it off and see if that helps. Most scanners will have a way to exclude specific directories if that helps.

Upvotes: 0

Matt Dillard
Matt Dillard

Reputation: 14853

Do you need every bit of the repository on your working copy? If you truly only care about particular portions of the tree, look into Subversion's Sparse Directories (a.k.a. "Sparse Checkouts") feature. It allows you to manipulate your working copy so it only contains those directories of interest.

Just as an example, you might use this to prune documentation, installer-related files, etc. Depending on what you truly need on your local machine, embracing this approach could make a serious dent in your wait times.

Upvotes: 1

William Leara
William Leara

Reputation: 10687

Are you using TortoiseSVN? If so, the Icon Overlays do slow down operations. If you go to TortoiseSVN Settings/Icon Overlays there are several settings you can tweak to control the level to which you want to use the Overlays, including turning them off completely. See if that affects your performance.

Upvotes: 0

Andrew Siemer
Andrew Siemer

Reputation: 10278

This is more likely to be your network and the amount of data moved as well as your client. Are you using Tortoise? I find it to be a bit slow myself when moving that much data!

Upvotes: 0

Related Questions