diff options
Diffstat (limited to 'doc/examples/tcp_range_script')
-rwxr-xr-x | doc/examples/tcp_range_script | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/doc/examples/tcp_range_script b/doc/examples/tcp_range_script new file mode 100755 index 0000000..37eb8b6 --- /dev/null +++ b/doc/examples/tcp_range_script @@ -0,0 +1,109 @@ +#!/bin/sh +# +# stream_range +# +# generate a whole lot of numbers from netperf to see the effects +# of send size on thruput +# + +# +# usage : tcp_stream_range hostname [CPU] +# + +if [ $# -gt 2 ]; then + echo "try again, correctly -> tcp_stream_range hostname [CPU]" + exit 1 +fi + +if [ $# -eq 0 ]; then + echo "try again, correctly -> tcp_stream_range hostname [CPU]" + exit 1 +fi + +# if there are two parms, parm one it the hostname and parm two will +# be a CPU indicator. actually, anything as a second parm will cause +# the CPU to be measured, but we will "advertise" it should be "CPU" + +if [ $# -eq 2 ]; then + REM_HOST=$1 + LOC_CPU="-c" + REM_CPU="-C" +fi + +if [ $# -eq 1 ]; then + REM_HOST=$1 +fi + +# at what port will netserver be waiting? If you decide to run +# netserver at a differnet port than the default of 12865, then set +# the value of PORT apropriately +#PORT="-p some_other_portnum" +PORT="" + +# where is netperf, and are there any "constant" options such as +# the netserver port number +#NETHOME=/usr/etc/net_perf +NETHOME="." +NETPERF=$NETHOME/netperf $PORT + +# How accurate we want the estimate of performance: +# maximum and minimum test iterations (-i) +# confidence level (99 or 95) and interval (percent) +STATS_STUFF="-i 10,2 -I 99,3" + +# +# some stuff for the arithmetic +# +# we start at start, and then multiply by MULT and add ADD. by changing +# these numbers, we can double each time, or increase by a fixed +# amount, or go up by 4x, whatever we like... +# +START=1 + +END=65536 + +MULT=4 + +ADD=0 + +# If we are measuring CPU utilization, then we can save beaucoup +# time by saving the results of the CPU calibration and passing +# them in during the real tests. So, we execute the new CPU "tests" +# of netperf and put the values into shell vars. +case $LOC_CPU in +\-c) LOC_RATE=`$NETPERF -t LOC_CPU`;; +*) LOC_RATE="" +esac + +case $REM_CPU in +\-C) REM_RATE=`$NETPERF -t REM_CPU -H $REM_HOST`;; +*) REM_RATE="" +esac + +TIME="60" + +# +# the maximum socket buffer size is system dependent. for the +# "cannonical" tests we use 32KB, but this can be altered +# +SOCKET_SIZE="-s 32768 -S 32768" + +MESSAGE=$START +while [ $MESSAGE -le $END ]; do + echo + echo ------------------------------------ + echo Testing with the following command line: + echo $NETPERF -l $TIME -H $REM_HOST -t TCP_STREAM\ + $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\ + -m $MESSAGE $SOCKET_SIZE + echo + $NETPERF -l $TIME -H $REM_HOST -t TCP_STREAM\ + $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\ + -m $MESSAGE $SOCKET_SIZE + + MESSAGE=`expr $MESSAGE + $ADD` + MESSAGE=`expr $MESSAGE \* $MULT` + +done +echo + |