From owner-freebsd-hackers Wed Sep 11 04:46:13 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id EAA27627 for hackers-outgoing; Wed, 11 Sep 1996 04:46:13 -0700 (PDT) Received: from ki1.chemie.fu-berlin.de (ki1.Chemie.FU-Berlin.DE [160.45.24.21]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id EAA27593 for ; Wed, 11 Sep 1996 04:45:48 -0700 (PDT) Received: by ki1.chemie.fu-berlin.de (Smail3.1.28.1) from mail.hanse.de (193.174.9.9) with smtp id ; Wed, 11 Sep 96 11:14 MEST Received: from wavehh.UUCP by mail.hanse.de with UUCP for freebsd-hackers@freebsd.org id ; Wed, 11 Sep 96 11:14 MET DST Received: by wavehh.hanse.de (4.1/SMI-4.1) id AA00524; Wed, 11 Sep 96 11:13:57 +0200 From: cracauer@wavehh.hanse.de (Martin Cracauer) Message-Id: <9609110913.AA00524@wavehh.hanse.de> Subject: Network load caused by source transmission - some numbers To: freebsd-hackers@freebsd.org Date: Wed, 11 Sep 1996 11:13:57 +0200 (MET DST) Reply-To: cracauer@wavehh.hanse.de X-Mailer: ELM [version 2.4 PL24] Content-Type: text Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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 http://www.bik-gmbh.de/~cracauer Fax +49 40 522 85 36