Wednesday, November 21, 2012

Transferring a huge file over a LAN

We need to transfer several huge files from an old server to a new server. I plan to use netcat to do a raw transfer followed by rsync to ensure data integrity. I'll report back on the results.

On the destination server:
nc -l 1234 > ubuntu-12.04.1-server-i386.iso

On the source server:
time cat ubuntu-12.04.1-server-i386.iso | nc $DESTINATION_IP 1234

On the source server:
cat >rsyncd.conf <<EOF
read only = yes
list = yes
use chroot = no
rsync --config=rsyncd.conf --daemon --no-detach --port=1234

On the destination server:
time rsync -av --inplace --progress rsync://apollo@ ubuntu-12.04.1-server-i386.iso


time cat ubuntu-12.04.1-server-i386.iso | nc 1234

real 0m58.130s
user 0m0.072s
sys 0m2.016s

ubuntu-12.04.1-server-i386.iso is 646MB in size which gives a transfer rate of 11.13MB/s which is NOT what I expected from a gigabit connection.

I hope you found the post useful. You can subscribe via email or subscribe via a feed reader to get relevant updates from this blog. Have a nice day.