aboutsummaryrefslogtreecommitdiff
path: root/netperf-2.4.4/doc/examples/arr_script
diff options
context:
space:
mode:
Diffstat (limited to 'netperf-2.4.4/doc/examples/arr_script')
-rwxr-xr-xnetperf-2.4.4/doc/examples/arr_script386
1 files changed, 0 insertions, 386 deletions
diff --git a/netperf-2.4.4/doc/examples/arr_script b/netperf-2.4.4/doc/examples/arr_script
deleted file mode 100755
index fbcf3f6..0000000
--- a/netperf-2.4.4/doc/examples/arr_script
+++ /dev/null
@@ -1,386 +0,0 @@
-# this is retained mostly for historical purposes and may not be
-# up to date for contemporary netperf versions
-#
-# a script that can be used to measure aggregate netperf performance,
-# original author is Mike Traynor. Modifications to create the
-# "netperf TCP_ARR test" by rick jones
-#
-
-init_parms() {
- TEST_TIME=60
- NTEST=3
- TOLERANCE=15
- MAX_RETRIES=3
-
- NETPERF="/usr/local/netperf/netperf"
- NETPERF="./netperf"
-
- NPROC_LIST=""
- RR_SIZES=""
- REM_HOST_LIST=""
- DEVFILELIST=""
- LLA=0
- TCP=1
- UDP=0
- GPROF=0
-}
-
-set_default_parms() {
- if [ "X$NPROC_LIST" = "X" ]
- then
- NPROC_LIST="1"
- fi
-
- if [ "X$REM_HOST_LIST" = "X" ]
- then
- REM_HOST_LIST="127.0.0.1"
- fi
-
- if [ "X$RR_SIZES" = "X" ]
- then
- RR_SIZES="1,1"
- fi
-
- NHOSTS=`echo $REM_HOST_LIST | awk '{printf "%d",NF}'`
- GPROF_RUN_TIME=`expr $TEST_TIME - 20`
-}
-
-usage() {
-more << @EOF
-
-$*
-
- USAGE: scale_script {test_options} {hostlist}
-
- Measure maximum system network throughput.
-
- The following are optional parameters:
-
- -t nsec : Causes each test to be run for nsec seconds.
- -gprof system : Take a gprof sample during the test. system
- is the name of the kernel the system was booted
- with.
- -n "nproclist" : One series of tests is run for each space-separated
- value in nproclist.
- -r "sizelist" : One series of tests is run for each space-separated
- request,reply pair in sizelist.
- hostlist : A space separated list of hosts to test against.
-
- +|-tcp : Run/Don't run TCP tests.
- +|-udp : Run/Don't run UDP tests.
- +|-lla : Run/Don't run LLA tests; this option also requires
- the user to specify a list of network device files
- using the -d option described below.
-
- The following option must be provided when using the -lla option
- described above:
-
- -d "devfilelst" : Where devfilelst is a space-separated list
- of network device file pairs. Each pair in
- the list contains two device file names,
- separated by a comma (eg. /dev/lan0,/dev/lan1),
- where the device file on the left side of the
- comma is for the local system and the device
- file on the right side is for the remote system.
- A device file pair must be specified for each
- remote host which is specified.
-
- Examples:
-
- scale_script -n "8 16" -udp LGs37U1 LGs37U2 -r "1,1 100,100"
-
- scale_script -t 1000 -n "16" -tcp -gprof /stand/vmunix LGs37U1 LGs37U2
-
- scale_script -n 4 -lla -d /dev/lan0,/dev/lan0 /dev/lan1,/dev/lan0 \\
- LGs37U1 LGs37U2
-
-@EOF
-}
-
-check_usage() {
- if [ `expr $TCP + $UDP + $LLA` -eq 0 ]
- then
- usage $0: ERROR: Must specify a test
- exit
- fi
-
- if [ $LLA -eq 1 ]
- then
- NDEV=`echo $DEVFILELIST | awk '{printf "%d",NF}'`
- if [ $NDEV -ne $NHOSTS ]
- then
- usage $0: ERROR: Number of device files does not match number of hosts
- exit
- fi
- fi
-
- for HOST in $REM_HOST_LIST
- do
- if [ `/etc/ping $HOST 100 1 | awk '/transmitted/{print $4}'`0 -ne 10 ]
- then
- usage $0: ERROR: Cannot ping host: $HOST
- exit
- fi
- done
-
- if [ $GPROF -eq 1 ]
- then
- if [ ! -r $GPROF_KERNEL ]
- then
- usage $0: ERROR: Cannot find system file: $GPROF_KERNEL
- exit
- fi
- if [ $GPROF_RUN_TIME -le 800 ]
- then
- echo "\nWARNING: GPROF RUN TIME LESS THAN 800 SECONDS\n"
- fi
- fi
-}
-
-display_headstone() {
-cat << @EOF
-
-$TESTNAME Aggregate REQUEST/RESPONSE TEST to $REM_HOST_LIST
-Local /Remote
-Socket Size Request Resp. Elapsed Trans. Num.
-Send Recv Size Size Time Rate Concurrent
-bytes Bytes bytes bytes secs. per sec Netperfs
-
-@EOF
-}
-
-display_test_banner() {
-cat << @EOF
-@EOF
-}
-
-build_sap_list() {
- LSAP=4
- SAPLIST=""
- PROC=0
- while [ $PROC -lt $NPROCS ]
- do
- PROC=`expr $PROC + 1`
- LSAP=`expr $LSAP + 4`
- RSAP=`expr $LSAP + 2`
- SAPLIST="$SAPLIST $LSAP,$RSAP"
- done
-}
-
-start_gprof() {
- if [ $GPROF -eq 1 ]
- then
- ( kgmon -h; kgmon -r; sleep 10; kgmon -b; sleep $GPROF_RUN_TIME; kgmon -h; kgmon -p $GPROF_KERNEL; mv gmon.out gmon.out.$TEST.$NPROCS )&
- fi
-}
-
-start_1_proc_per_host() {
- HOSTNUM=0
- for HOST in $REM_HOST_LIST
- do
- if [ "$TEST" = "HIPPI_RR" ]
- then
- PROCNUM=`expr $PROCNUM + 1`
- SAP=`echo $SAPLIST | awk "{print \\$$PROCNUM}"`
- SAP="-s $SAP"
- HOSTNUM=`expr $HOSTNUM + 1`
- DEVFILE=`echo $DEVFILELIST | awk "{print \\$$HOSTNUM}"`
- DEVFILE="-D $DEVFILE"
- fi
- $NETPERF -t $TEST -l $TEST_TIME -H $HOST -P0 -v0 -- \
- $COW $DEVFILE $SAP $RR_SIZE $SEND_SIZE $SOCKET_SIZE &
- done
-}
-
-start_n_procs_per_host() {
- PROC=0
- while [ $PROC -lt $1 ]
- do
- PROCNUM=`expr $PROC \* ${NHOSTS}`
- start_1_proc_per_host &
- PROC=`expr $PROC + 1`
- done
- wait
-}
-
-run_1_test() {
- start_n_procs_per_host $PROCS_PER_HOST |\
- awk 'BEGIN {max=0;min=99999;sum=0;n=0} \
- {sum += $1;n++;ave=sum/n} \
- $1<min {min=$1} \
- $1>max {max=$1} \
- {errl=(ave-min)/ave;errm=(max-ave)/ave;err=errl} \
- errm>errl {err=errm} \
- END {printf "Aggregate throughput: %2.2f TPS +/- %2.2f %%\n",sum,err*100}'
-}
-
-run_test_n_times() {
- RETRY=0
- TEST_COUNT=0
- while [ $TEST_COUNT -lt $1 ]
- do
- TEST_COUNT=`expr $TEST_COUNT + 1`
- start_gprof
- run_1_test > .run_test_n_file
- cat .run_test_n_file
- ERROR_LVL=`awk '{print int($6+0.99)}' .run_test_n_file`
- if [ $ERROR_LVL -gt $TOLERANCE ]
- then
- RETRY=`expr $RETRY + 1`
- if [ $RETRY -le $MAX_RETRIES ]
- then
- TEST_COUNT=`expr $TEST_COUNT - 1`
- TEST_TIME=`expr $TEST_TIME \* 2`
- else
- echo "!!!This is an INVALID RUN of the arr_script!!!" >&2
- echo "!!!UNABLE to hit TOLERANCE of " $TOLERANCE "!!!" >&2
- echo "Please select a longer initial time and try again." >&2
- exit
- fi
- fi
- done
-}
-
-do_req_rr_sizes() {
- for S2 in $RR_SIZES
- do
- RR_SIZE="-r $S2"
- display_test_banner $NPROCS $TEST $S2
- run_test_n_times $NTEST > .do_series_file
- TPS=`awk "int(\$6+0.99)<=$TOLERANCE {print}" .do_series_file |\
- awk 'BEGIN {sum=0;n=1} \
- sum>0 {n++} \
- {sum+=$3} \
- END {printf "%2.2f\n",(sum)/(n)}'`
- SOCK_SEND=`echo $SOCKET_SIZE | awk '{print $2}'`
- SOCK_RECV=`echo $SOCKET_SIZE | awk '{print $4}'`
- REQ_SIZE=`echo $S2 | awk -F"," '{print $1}'`
- RSP_SIZE=`echo $S2 | awk -F"," '{print $2}'`
- echo $SOCK_SEND $SOCK_RECV $REQ_SIZE $RSP_SIZE $TEST_TIME $TPS $PROCS |\
- awk '{printf "%5d %5d %5d %5d %5d %8.2f %5d",$1,$2,$3,$4,$5,$6,$7}'
- done
-}
-
-tcp_test() {
- #Run the TCP RR tests
- TEST="TCP_RR"
- SEND_SIZE=""
- SOCKET_SIZE="-s 8192 -S 8192"
- COW="-V"
- do_req_rr_sizes
- echo
-}
-
-udp_test() {
- #Run the UDP RR tests
- TEST="UDP_RR"
- SEND_SIZE=""
- SOCKET_SIZE="-s 9216 -S 9216"
- COW="-V"
- do_req_rr_sizes
- echo
-}
-
-lla_test() {
- #Run the UDP RR tests
- TEST="HIPPI_RR"
- SEND_SIZE=""
- SOCKET_SIZE=""
- COW=""
- build_sap_list
- do_req_rr_sizes
- echo
-}
-
-do_req_procs() {
- if [ $TCP -eq 1 ]
- then
- TESTNAME="TCP"
- display_headstone
- for PROCS in $NPROC_LIST
- do
- #Determine number of procs per host
- PROCS_PER_HOST=`echo $PROCS $REM_HOST_LIST | awk '{printf "%d",($1+NF-2)/(NF-1)}'`
- NPROCS=`expr $PROCS_PER_HOST \* $NHOSTS`
- tcp_test
- done
- fi
-
- if [ $UDP -eq 1 ]
- then
- TESTNAME="UDP"
- display_headstone
- for PROCS in $NPROC_LIST
- do
- #Determine number of procs per host
- PROCS_PER_HOST=`echo $PROCS $REM_HOST_LIST | awk '{printf "%d",($1+NF-2)/(NF-1)}'`
- NPROCS=`expr $PROCS_PER_HOST \* $NHOSTS`
- udp_test
- done
- fi
-
- if [ $LLA -eq 1 ]
- then
- TESTNAME="LLA"
- display_headstone
- for PROCS in $NPROC_LIST
- do
- #Determine number of procs per host
- PROCS_PER_HOST=`echo $PROCS $REM_HOST_LIST | awk '{printf "%d",($1+NF-2)/(NF-1)}'`
- NPROCS=`expr $PROCS_PER_HOST \* $NHOSTS`
- lla_test
- done
- fi
-}
-
-######################################################################
-
-init_parms
-
-PARMS="${0##*/} ${@}"
-
-# Parse the command line
-while [ $# != 0 ]
-do
- case $1 in
- \-gprof) GPROF=1
- GPROF_KERNEL=$2
- shift
- ;;
- \-t) TEST_TIME=$2
- shift
- ;;
- \-n) NPROC_LIST="$NPROC_LIST $2"
- shift
- ;;
- \+lla) LLA=1
- ;;
- \+tcp) TCP=1
- ;;
- \+udp) UDP=1
- ;;
- \-lla) LLA=0
- ;;
- \-tcp) TCP=0
- ;;
- \-udp) UDP=0
- ;;
- \-d) DEVFILELIST="$DEVFILELIST $2"
- shift
- ;;
- \-r) RR_SIZES="$RR_SIZES $2"
- shift
- ;;
- \-*) usage $0: ERROR: Unexpected paramter: $1
- exit
- ;;
- *) REM_HOST_LIST="$REM_HOST_LIST $1"
- ;;
- esac
- shift
-done
-
-set_default_parms
-check_usage
-do_req_procs
-