request: add TCP buffer options to rsync CLI?

Lawrence D. Dunn ldunn at
Thu May 4 13:58:18 GMT 2006

   I ran into similar circumstances when helping some folks transfer
   data from FermiLab(Chicago) to Renater(France).
   What options are you using for rsync?

   The buffer tuning you refer to is actually tuning two different things.

   The rsync TCP-buffer options allow you to set TCP buffers.
   You've always been able to do this on the daemon-side (via a config file),
   and the patch added (via this email's subject line) also allows you
   to set buffers on the client. (I have not tested this, but Wayne 
described it as
   straightforward, so I assume it's correct.  When I worked on it,
   I used web100-instrumented Linux boxes that let me tweak the buffers
   during the transfer).

   The ssh fix (Chris Rapier/PSC) addresses an ssh issue, where ssh implements
   a windowing-protocol **on top of TCP**.  So even if you get the TCP buffers
   "right", rsync performance will be dismal **if** you use "-e ssh" or similar
   to encrypt the ssh transfer.

   So (and maybe you've already done this), when using "-e ssh", you need to:
   1. use an ssh-patched system
   2. set TCP buffers on sender (at least Tx buff on that side)
   3. set TCP buffers on receiver (at least Rx buff on that side).

   When I did that, I got comparable performance from rsync and iperf;
   the transfer seemed to be disk i/o limited (on the receiver side, which
   had cheaper disk i/o  - about 20-30MBytes/sec when there's no loss,
   so  congestion control wasn't kicking in).

   Also, if you're using  Linux, kernels from  about 2.6.8+ now 
includes both sender-side
   and receiver-side TCP buffer autotuning, so as long as you have large enough
   max-TCP-buffers, the systems will self-adapt their tcp-buffers,
   taking care of "2" and "3" above.  The patch that Wayne did is really
   to help folks with systems that don't do autotuning (pretty much
   everything except <1yr-old Linux kernels).

   Feel free to drop me a note (unicast?) if you'd like to discuss further.
   I **think** you should be able to get a better rate w/o further 
changes to rsync.
   But I could be wrong... ;-)


At 2:50 PM +0800 5/4/06, Stuart Midgley wrote:
>We see absolutely dismal performance from Canberra to Perth via 
>Aarnet or Grangenet (gig connections across the country).  With 
>standard rsync on a tuned tcp stack, we see about 700k/s.  I started 
>playing with the --sockopts and have increased the performance to 
>1.4M/s which is better, but still way off the pace.
>There are similar patches for ssh at
>which work wonders (up to 25M/s where previously we were at 700k/s).
>I would love to see similar performance gains from rsync as I've see 
>from the tuned ssh...
>Dr Stuart Midgley
>Industry Uptake Program Leader
>iVEC, 'The hub of advanced computing in Western Australia'
>26 Dick Perry Avenue, Technology Park
>Kensington WA 6151
>Phone: +61 8 6436 8545
>Fax: +61 8 6436 8555
>Email: industry at
>To unsubscribe or change options: 
>Before posting, read:

More information about the rsync mailing list