rsync speed

Wayne Davison wayned at samba.org
Sat May 20 16:12:18 GMT 2006


On Wed, May 17, 2006 at 09:43:50PM +0200, Julian Pace Ross wrote:
> Pushing the file from Windows to Linux over ssh takes around 15 min, with an
> average speed of ~400Kbps (using --progress).
> 
> Pulling the same file using the same arguments takes around 45 mins, with an
> average speed of ~150Kbps.

Do you mean pulling it back again from Linux to Windows?  Or switching
machines and pulling it in the same direction from Windows to Linux?
I'm going to assume the former.

When you pushed/pulled the file, was it updating an old version of the
file? Or creating the file anew?  One reason for the discrepancy might
be that the push had existing data on the receiving side that it used to
make the transfer faster (i.e. it was updating from an older version)
while the pull back again might not have had that advantage.

> It seems slow to me (ssh overhead??)

This depends on how slow (or loaded) your CPU is.  For instance, on an
old Pentium III 733mhz, the encrypting that ssh does cuts down the top
transfer speed compared to an unencrypted daemon connection (I think the
ssh connection was about 33% of the daemon connection, IIRC).  And I
even had blowfish encryption enabled (which is one of the least CPU-
intensive algorithms ssh provides; you can specify "-c blowfish" in your
ssh command if you want to try using it).

I'd suggest using a CPU-monitoring tool to see how heavily loaded your
CPU is.  If it's near 100%, then the encryption is probably slowing you
down.  If it's not, then disk I/O or network speed is probably the
limiting factor.

If you're backing-up over a local network, it may well be safe enough to
dropp the ssh transport of your daemon-style transfers and just run a
password-protected daemon on your Linux box.  That should speed things
up quite a bit if CPU is your limiting factor.

..wayne..


More information about the rsync mailing list