Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Sep 1996 11:13:57 +0200 (MET DST)
From:      cracauer@wavehh.hanse.de (Martin Cracauer)
To:        freebsd-hackers@freebsd.org
Subject:   Network load caused by source transmission - some numbers
Message-ID:  <9609110913.AA00524@wavehh.hanse.de>

next in thread | raw e-mail | index | archive | help
Some of you might be interested in these numbers. I tried to figure
out how much traffic is triggered by getting or updating sources with
different distribution systems. You know, in Germany we have to pay
*very* much for international IP :-)

Getting a checked-out FreeBSD-2.0.5_ALPHA src/sys tree,
either using remote CVS or transferring a checked-out Tree (including
CVS admin files in checkout-out tree). Traffic in bytes:

tar/gzip/rsh:  3308551 
tar/gzip/rcp:  3311960 
tar/gzip/ftp:  3333930 
CVS/checkout/gzip:  4778158 
rsync/gzip:  5362880 
rsync/checksum/gzip:  5461213 
CVS/checkout:  12450324 
rsync:  14285078 
rsync/checksum:  14361141 
tar:  14719214 
rdist:  15602175 
rcp:  15817651 

More on the commands used (gzip is always -9):

tar/gzip/rsh:  tar fc - usr/src | gzip | rsh target sh -c 'gzip | tar fx -'
tar/gzip/rcp:  tar fc foo usr/src ; gzip foo ; rcp foo.gz target:.
tar/gzip/ftp:  tar fc foo usr/src ; gzip foo ; ftp target...put foo.gz
CVS/checkout/gzip:  cvs -z 9 -d source:/CVS checkout usr/src
rsync/gzip:  rsync -prz usr/src target:.
rsync/checksum/gzip:  rsync -cprz usr/src target:.
CVS/checkout:  cvs -d source:/CVS checkout usr/src
rsync:  rsync -pr usr/src target:.
rsync/checksum:  rsync -prc usr/src target:.
tar:  tar fc - | rsh target tar fx -
rdist:  rdist -q -c usr/src target:
rcp:  rcp -rp usr/src target


Updating the FreeBSD-2.0.5_ALPHA tree to 2.0.5-RELEASE.

UP:CVS/rdiff/gzip:   340238 
UP:CVS/update/gzip:  1339099 
UP:rsync/checksum/gzip:  3592445 
UP:rsync/gzip:  3597499 
UP:CVS/update:  3875360 
UP:CVS/rdiff:  4133802 
UP:rsync/checksum:  4944287 
UP:rsync:  5618247 
UP:rdist:  15684857 

UP:CVS/rdiff/gzip:   cvs rdiff | gzip | rsh target sh -c 'zcat | patch -p -s'
UP:CVS/update/gzip:  cvs -z 9 update ...
UP:rsync/checksum/gzip:  rsync -crpz ...
UP:rsync/gzip:  rsync -rpz
UP:CVS/update:  cvs update ...
UP:CVS/rdiff:  cvs rdiff | rsh target patch -p -s
UP:rsync/checksum:  rsync -crp
UP:rsync:  rsync -rp
UP:rdist:  rdist -q -c ...

NOTES:
------

1) I can't really believe the number for CVS/rdiff/gzip update
1b)The rdiff produced by cvs didn't really fit into the former tree
   on the target, some (few) rejects occurred. 
2) The update with rdist transfers the whole tree again. The is
   because I had the the releases in two different trees on the source
   machine. rsync obviously recognizes unchanged files even when when
   the date differs, rdist doesn't.
3) Versions:
   Source machine is NetBSD-1.1/i386
   Target machine is NetBSD-1.1/sparc
   CVS is 1.8.1
   rsync is 1.5
   rdist is whatever is in NetBSD-1.1
4) The tool to measure the traffic is :
   `tcpdump -s 2000 -w - ... | wc -c`
   That means: The numbers include IP and TCP headers.
   The medium is 10-Mbit/sec Ethernet.


IMPRESSIONS:
------------

- CVS is a good one!
- rdist seems rather pointless. The only thing I miss in rsync is an
  option to preserve the directory structure. When doing `rsync -rp
  usr/src target:`, the directory on the target machine is 'src', not
  'usr/src'. Should be switchable.

FEEDBACK:
---------

I'm going to do a next run of these tests. Please let me know if:

- You want more protocols (which one?)
- You want to know the run time (which medium?, what machines)
- You want to know the load caused (on client, on server?)
- You want more information on the commands used
- You want this test suite

Happy Hacking
	Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@wavehh.hanse.de>
http://www.bik-gmbh.de/~cracauer
Fax +49 40 522 85 36 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9609110913.AA00524>