Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!sgi!vjs@rhyolite.wpd.sgi.com From: vjs@rhyolite.wpd.sgi.com (Vernon Schryver) Newsgroups: comp.protocols.tcp-ip Subject: Re: TCP/IP performance Summary: script to run ttpc Keywords: ttcp blast benchmark Message-ID: <39013@sgi.SGI.COM> Date: 27 Jul 89 19:49:28 GMT References: <38103@sgi.SGI.COM> Sender: daemon@sgi.SGI.COM Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 70 Since there has been substantial traffic to the ttcp.c I offered for anonymous ftp, here is a script for running ttcp. I'm told that one does something like "script 1" on the receiver and "script 1 rcvr" on the sender. One should first turn off all deamons, including YP, routed, gated, etc. and shut off the window system--provided that you want to measure pure, maximum TCP or UDP. The effect of these other things on the numbers is very interesting, but not obviously relevant in this forum. ---------------- #!/bin/csh -f set udp="" #set udp="-u" set lengths=(0005 0128 0256 0512 1024 1536 2048 3072 3584 4096 5120 5400 6144 7168 8192) set numBufs=25000 if ("$2" == "") then set op=r # if (-e Count) then # @ run=`cat Count` # @ run++ # echo $run >! Count # else # echo 1 > Count # @ run = 1 # endif else set op=t # @ run = `cat Count` endif set run = $1 @ port = 4000 + $run * 100 echo "Starting $udp run $run" set output=$op$run cp /dev/null $output foreach buflen ($lengths) echo "$buflen, port = $port" if ($op == t) then echo "" >> $output ./ttcp -t $udp -p$port -n$numBufs -l$buflen $2 >> $output sleep 2 else echo "" >> $output ./ttcp -r $udp -p$port -n$numBufs -l8192 >> $output sleep 1 endif @ port++ end ---------------- Someone ambitious should enhance ttcp to take a list of buffer sizes and numbers of passes for each size, and compute means. It would also be better if it took a buffer size & a total transmission size, and divided to compute the number of buffers to write. It would be nice to find a public domain package to generate a postscript plot of the results. The hills and valleys give insites into buffering problems and successes. If the numbers are good, it also makes good sales fodder. We use something internally, but it turns out to be private property. Vernon Schryver Silicon Graphics vjs@sgi.com