Hello, I have a question concerning the performance of rsync beteen two sites, one in India one in Germany. File exchange between 2 Linux-machines is done using rsync-3.0.5 (typical file size 1.5 GB). Destination machine is: Linux machine1 2.6.9-55.0.9.ELsmp #1 SMP Tue Sep 25 02:16:15 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux Source machine is: Linux machine2 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 i686 i386 GNU/Linux ping between the two hosts yields in average 190ms. The bandwidth specified by the ISP is 6 Mbps. However, from rsync-logs I only get 340 KB/s which is about 2.7 Mbps (typical file size is 1.5 GB). Running 2 rsync processes in parallel I get 340 KB/s for EACH process, which is 5.4 Mbps in total. Starting a third parallel process bandwidth is going down, but the sum is still about 5.4 Mbps. I think the problem is related to the buffer size. Is it ok to change buffersize with this command line option: --sockopts=SO_SNDBUF=130000,SO_RCVBUF=130000 Is it sufficient to change only those 2 parameters ? Will this also change the buffersize af the other host (via rsync communication)? In the logs I do not get any information that the sockopts parameter is changing something (although I am using "vvvv"). Any help or hint greatly appreciated. Thanks, gp -- Nur bis 16.03.! DSL-Komplettanschluss inkl. WLAN-Modem f?r nur 17,95 ?/mtl. + 1 Monat gratis!* dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a
On Wed, Mar 11, 2009 at 7:41 AM, Gero Pflanz <Gero.Pflanz@gmx.de> wrote:> Is it sufficient to change only those 2 parameters ? > Will this also change the buffersize af the other host (via rsync > communication)? In the logs I do not get any information that > the sockopts parameter is changing something (although I am using > "vvvv").You should change the buffer sizes on both ends of the connection in my experience if you are running one side in daemon mode. If you are running over an SSH tunnel, there may be additional complications, and some tweaking might need to be done at the SSH layer. At 190 ms, you need this window size: 6 Mb/s * 0.190 s = 1140000 bits = 142500 bytes This value is greater than 64KB, would require the use of TCP windows scaling options. Most recent OS (even windows) support this TCP window scaling automatically, but I have seen some ill-behaved firwealls, IDS, VPN gateways, and other network devices that choke on TCP connections with the windows scaling options set. All you can do is try to see if such a device is in your path. Note that if your rsync proccess is CPU or disk bound, these settings will not help. Try lowering the compression level or using the whole-file option if that is the case. -- RPM