subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Harold <thomas-li...@nybeta.com>
Subject Re: SVN performance -URGENT
Date Thu, 01 Aug 2013 16:20:37 GMT
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.




Mime
View raw message