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

Re: SVN performance -URGENT

From: Thomas Harold <thomas-lists_at_nybeta.com>
Date: Thu, 01 Aug 2013 12:20:37 -0400

On 8/1/2013 10:52 AM, Somashekarappa, Anup (CWM-NR) wrote:
> Bandwidth is 35.4 MBytes/secfrom my system(London) to server(New york)
> when i checked with iperf tool.
> We are using LDAP
> AuthzLDAPAuthoritative off
> AuthType Basic
> AuthBasicProvider ldap
> AuthName "Windows Credentials"
>
> As per message after checkout in TortoiseSVNGUI = 368 Mbytes transfered.
>
> Actual folder size = 1.15 GB(1236706079 bytes)
>
> Number of files = 201,712
>
> Folder = 21,707
>
> Guess this inculdes the .svn folder as well.
>

That's a fairly complex working copy with many files/folders. Given
that you have 35Mbps (note the lower case B) of bandwidth, an ideal
transfer should be somewhere in the 45-60 minute range for a fresh
checkout of the entire thing.

However, you're obviously bottlenecked somewhere.

On the Linux server side, I suggest installing a tool called "atop" and
monitoring things like how busy the disks are, how busy the CPU cores
are and the network throughput. This will give you an idea of how hard
the Linux server is working while sending out the data to the SVN client.

For the windows client, you will need to look at the Performance Monitor
(perfmon) and Task Manager to see if you are bottlenecking somewhere.
Good counters to watch in perfmon are "Physical Disk / % Disk Read
Time", "Physical Disk / % Disk Write Time", "Network Interface / Bytes
Sent/sec", "Network Interface / Bytes Received/sec".

My guesses at this point would be:

- You're not using a SSD on the Windows client, so there is a lot of
disk activity as SVN goes to create the working copy. So your disks are
100% busy and are your bottleneck.

- You're CPU bottlenecked somewhere. Either server-side or client-side.

- Maybe you need to consider using sparse working copies or only
checking out a portion of the repository at a time. (Such as only
bringing down your project's "trunk" folder.)

- You'll need to do this checkout once to create the initial working
copy, then keep the working copy around for a long time. Future "svn
update" commands will then only transmit the changes over the wire
instead of all of the content.
Received on 2013-08-01 18:21:23 CEST

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