[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Poor performance for large software repositories downloading to CIFS shares

From: David Weintraub <qazwart_at_gmail.com>
Date: Wed, 14 Jul 2010 09:52:20 -0400

I've seen poor performance on Windows for Subversion checkouts due to
anti-virus checking. When Subversion does a checkout, it also creates
a second copy of each and every file that is checked out. Plus, it
updates other files in the .svn directory. Some anti-virus files scan
everything created and downloaded by the Subversion client, slowing
down checkouts to a crawl. What takes a few minutes on a Linux or Mac
takes longer on Windows machines thanks to an overly agressive
anti-virus program.

Since the CIFS is a Windows share, both the Windows Server that owns
the share and the Windows Client that mounted the share may be running
anti-virus programs that aggressively "protect" the share from
malware. You might not normally notice this with one or two files, but
when you do a Subversion checkout with 10,000 files in it, you'll
start to notice the delays.

There are several experiments you could try:

* Instead of a checkout, do an export. Exports don't create the .svn
directory and all of their overhead. See if this substantially speeds
up the operation. Yes, I know this isn't what you want to do, but
it'll help determine the heart of the problem. This will transfer just
as much data over the network, but it won't create all of those .svn
directories and the files they contain. A much faster checkout could
point out that the problem is with the Subversion client attempting to
create files on the server.

* Use Samba on a Local Linux system to mount this CIFS Windows share
on a Linux machine. Then, do your checkout on the Linux system. This
eliminates the Subversion Windows client. This will eliminate any
problems with the Windows version of the Subversion client..

* Perforce likes to claim it is a very efficient checkout system.
Download Perforce, and add the HEAD revision of the Trunk of your
Subversion repository into a Perforce repository. Now try the checkout
on the CIFS using Perforce. This entirely eliminates Subversion from
the equation. If there are still issues, it lies solely with CIFS on
that Windows server.

I know things have changed recently, but CIFS has a reputation for
being slow and chatty. See http://bit.ly/aNUF2k.

-- 
David Weintraub
qazwart_at_gmail.com
Received on 2010-07-14 15:54:01 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.