blob: 1b12a6f1c3d8abc73eeaeac8ec377b37a81225a0 [file] [log] [blame]
#!/bin/sh
#
# This is an example script for using netperf. Feel free to modify it
# as necessary, but I would suggest that you copy this one first.
#
#
# This version has been modified to take advantage of the confidence
# interval support in revision 2.0 of netperf. it has also been altered
# to make submitting its resutls to the netperf database easier
# raj 11/94
#
# usage: tcp_rr_script hostname [CPU]
#
if [ $# -gt 2 ]; then
echo "try again, correctly -> tcp_rr_script hostname [CPU]"
exit 1
fi
if [ $# -eq 0 ]; then
echo "try again, correctly -> tcp_rr_script hostname [CPU]"
exit 1
fi
# where the programs are
#NETHOME=/usr/local/netperf
#NETHOME="/opt/netperf"
NETHOME=.
# 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=""
# The test length in seconds
TEST_TIME=60
# 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,3 -I 99,5"
# The socket sizes that we will be testing - using zero will let it
# be the system default.
SOCKET_SIZES="0"
# The request,response sizes that we will be using. The netperf
# command parser will treat "1" the same as "1,1" - I use 1,1 to
# remember that it is "request,response"
RR_SIZES="1,1 64,64 100,200 128,8192"
# 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
# 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=`$NETHOME/netperf $PORT -t LOC_CPU`;;
*) LOC_RATE=""
esac
case $REM_CPU in
\-C) REM_RATE=`$NETHOME/netperf $PORT -t REM_CPU -H $REM_HOST`;;
*) REM_RATE=""
esac
# This disables header display
NO_HDR="-P 0"
for SOCKET_SIZE in $SOCKET_SIZES
do
for RR_SIZE in $RR_SIZES
do
echo
echo ------------------------------------------------------
echo Testing with the following command line:
# we echo the command line for cut and paste to th database
echo $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST -t TCP_RR \
$LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\
-r $RR_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE
echo
# since we have the confidence interval stuff, we do not
# need to repeat a test multiple times from the shell
$NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST -t TCP_RR \
$LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\
-r $RR_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE
done
done
echo
echo If you wish to submit these results to the netperf database at
echo http://www.cup.hp.com/netperf/NetperfPage.html, please submit each
echo datapoint individually. Individual datapoints are separated by
echo lines of dashes.