103 lines
2.6 KiB
Bash
Executable file
103 lines
2.6 KiB
Bash
Executable file
#!/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.
|
|
#
|
|
#
|
|
# uncomment the next line if you think the script is broken
|
|
#set -x
|
|
|
|
|
|
if [ $# -gt 2 ]; then
|
|
echo "try again, correctly -> udp_rr_script hostname [CPU]"
|
|
exit 1
|
|
fi
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo "try again, correctly -> udp_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,2 -I 99,10"
|
|
|
|
# The socket sizes that we will be testing - -1 means use default
|
|
# not much point in changing the socket buffer for a UDP request/
|
|
# response test - unless you want to have requests/responses which
|
|
# are larger than the default
|
|
|
|
SOCKET_SIZES="-1"
|
|
|
|
# The send sizes that we will be using
|
|
|
|
RR_SIZES="1,1 64,64 100,200 1024,1024"
|
|
|
|
# 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
|
|
LOC_CPU=""
|
|
REM_CPU=""
|
|
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 turns-off the display headers
|
|
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:
|
|
echo $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST $STATS_STUFF \
|
|
$LOC_CPU $LOC_RATE $REM_CPU $REM_RATE -t UDP_RR --\
|
|
-r $RR_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE
|
|
$NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST $STATS_STUFF \
|
|
$LOC_CPU $LOC_RATE $REM_CPU $REM_RATE -t UDP_RR $NO_HDR --\
|
|
-r $RR_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE
|
|
done
|
|
done
|
|
echo
|