I'm trying to transfer about 100k files totaling 90gb. Right now I'm using rsync daemon but its slow 3.4mb/s and I need to do this a number of times. I'm wondering what options do I have that would max out a 100mbit connection over the internet and be very reliable.
|
|
Have you considered Sneakernet? With large data sets overnight shipping is often going to be faster and cheaper than transferring via the Internet. |
|||||
|
|
You mention "rsync," so I assume you are using Linux: Why don't you create a tar or tar.gz file? Network transfer time of one big file is faster than many small ones. You could even compress it if you wish... Tar with no compression: On the source server:
Then on the receiving end:
Tar with compression: On the source server:
Then on the receiving end:
You would simply use rsync to do the actual transfer of the (tar|tar.gz) files. |
|||
|
|
|
You could try the
this should be rewritable to the following:
You'd lose the |
|||
|
|
|
You can use various compression options of rsync.
compression ratio for binary files is very low, so you can skip those files using --skip-compress e.g. iso, already archived and compressed tarballs etc. |
|||
|
|
How? Or TL;DRThe fastest method I've found is a combination of E.g.:
Using this I've achieved sustained local network transfers over 950 Mb/s on 1Gb links. Replace the paths in each tar command to be appropriate for what you're transferring. Why? mbuffer!The biggest bottleneck in transferring large files over a network is, by far, disk I/O. The answer to that is Buffering is the thing that makes all the difference! Use it if you have it! If you don't have it, get it! Using If you're transferring multiple files use Finally, using |
|||
|
|
I'm a big fan of SFTP. I use SFTP to transfer media from my main computer to my server. I get good speeds, over LAN. SFTP is reliable, I'd give that a shot, as it's easy to set up, and it could be faster in some cases. |
|||||||||||||||
|
