Working at a hosting company that specializes in J2EE application hosting, we move EARs around a lot.  Typically I’ve just been using scp since rsync can easily get you into trouble if you’re pushing deltas you’re not super careful.  And if you’re not pushing deltas, and pushing full ears, it makes more sense to use scp rather than rsync over ssh, which just adds extra overhead.  Right?

Apparently wrong.  After doing some real testing here are some surprising numbers.  All of this was done on private Gig-E networks between beefy RHEL 5 linux servers.

318 MB Exploded EAR file:
scp – 85.8 seconds
rsync – 9 seconds

199 MB compressed tgz EAR file:
scp – 14.7 seconds
rsync – 6.3 seconds

Even doing unprimed transfers, rsync is 2-10 times faster than scp.  The moral of this story is for transfers (scripted or manual) rsync can be MUCH faster.  And of course if you can use primed syncs, rsync is MUCH faster again.