aboutsummaryrefslogtreecommitdiff
path: root/doc/examples/udp_rr_script
blob: 5c584181254250013f6517aa7e7bb8a6e09f5fa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/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