Abysmal sparse file performance!

Mac User FR macuserfr at free.fr
Tue Sep 21 02:09:13 MDT 2010


I'm not an rsync expert, other people will confirm or infirm what I'm  
saying, but I think your problem is that you are using rsync in "stand- 
alone" mode to copy from and to the same computer. Although that  
works, in this way rsync won't use it's delta algorithm and so, won't  
have great performance.

That may be wrong, but what I understood from my readings is that  
rsync has been made for network transfers from computer A to computer  
B that always share some of the data. In this configuration and with  
rsync running in both ends, it will use the delta algorithm to do not  
transfer all the files, but only the needed pieces of files needed to  
reconstruct the whole files in the other end. This optimisation aim to  
save bandwidth first, and have the side effect to be faster than an  
entire copy because of hard links and other stuff that avoid the  
computer B to write all of the data.

As I said, I not sure of what I'm saying. I think this is right and  
that's the reason you don't see any optimisation in your  
configuration, but I would prefer someone else to confirm my hypothesis.

Best regards,


Le 21 sept. 10 à 09:00, grarpamp a écrit :

> I have a 5.5GB file, mostly sparse. Tar performs far[!] better than  
> rsync.
> I have no ideas yet, so just an FYI as to current state.
> FreeBSD 8.1 i386 zfs
> Yes, I know the blocks used differs but don't know why yet, could
> be just how zfs does things or related to the large amount of  
> sparseness.
> There are no media errors, CPU/IO load or anything like that and the  
> source
> and dest paths are on the same filesystem.
> I've not tested times for files that are, say, 90% full instead of  
> 90% sparse
> Though a 50% 35MB file was 8.5x slower than tar and had identical
> block counts and sha256 with both.
> /usr/bin/time rsync -HaxiS ./a ../
>> f+++++++++ a
>      271.13 real       101.44 user        95.62 sys
> l -s ./a ../a ; rm -f ../a
> blocks bytes
> 3625 5535932416 ./a
> 3769 5535932416 ../a
> /usr/bin/time tar -cf - ./a | /usr/bin/time tar -C .. -Sxf -
>       57.67 real         1.10 user        27.77 sys
>       57.67 real        10.68 user         5.87 sys
> l -s ./a ../a ; rm -f ../a
> blocks bytes
> 3625 5535932416 ./a
> 2977 5535932416 ../a
> -- 
> Please use reply-all for most replies to avoid omitting the mailing  
> list.
> To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

More information about the rsync mailing list