rsync speed on slow wireless links
lwarxx at gmail.com
Wed Dec 9 23:08:13 MST 2009
I've noticed that rsync performs significantly worse than wget on slow congested wireless
links (GPRS in my case). I don't have large statistics, but in my tests rsync often stalls
for 3-5 minutes, while wget stalls only for several seconds and then continues download.
Is there any rsync protocol features which are sensitive to packet loss and unpredictable delay?
I understand that rsync transaction has additional metadata transfer in the beginning (file
list etc.), but after that what can affect the speed? Are there additional handshakes or
flow control other than tcp ones?
My rsync command looks like this:
rsync -rtmz --partial --progress --delete-delay --delay-updates --stats --itemize-changes
--timeout 120 --contimeout 20 source.example.com::module/file.zip /tmp/
I've tried to use it directly over ppp or via openvpn udp tunnel.
Is there anything that can be done to improve situation? Setting sockopts or block size?
Fine tcp tuning?
If required, I can collect tcpdump data from both sides (but in short there are lots of
TCP duplicate ACKs and retransmissions).
More information about the rsync