Why is rsync so slow with huge files containing a lot of changes?

Viewed 169

We have a weekly process that archives a big number of frequently changing files into a single tar file and synchronizes it to another host using rsync as following (resulting in a very low speedup metric, usually close to 1.00):

rsync -avr <src> <dst>

Over the years, this archive has steadily increased in size and is now over 200G large. With the increasing file size, rsync has come to a point where it takes about 20 hours to finish the synchronization. However, deleting the file at the destination before the rsync process starts, causes the transfer to complete in only about 1 hour.

I understand that rsync's delta-transfer algorithm introduces some overhead, but it seems that it is not linear but exponentially growing with very large file sizes. If the actual transfer of bytes over the network takes 1h, what exactly is rsync doing in the remaining 19h?

0 Answers
Related