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.