1#set -x
2# edit and add to this array as necessary
3# the hosts you will use should be contiguous
4# starting at index zero
5remote_hosts[0]=192.168.2.3
6remote_hosts[1]=192.168.3.5
7remote_hosts[2]=192.168.4.6
8remote_hosts[3]=192.168.5.7
9remote_hosts[4]=192.168.2.5
10remote_hosts[5]=192.168.3.3
11remote_hosts[6]=192.168.4.7
12remote_hosts[7]=192.168.5.6
13remote_hosts[8]=192.168.2.6
14remote_hosts[9]=192.168.3.7
15remote_hosts[10]=192.168.4.3
16remote_hosts[11]=192.168.5.5
17remote_hosts[12]=192.168.2.7
18remote_hosts[13]=192.168.3.6
19remote_hosts[14]=192.168.4.5
20remote_hosts[15]=192.168.5.3
21
22# this should always be less than or equal to the
23# number of valid hosts in the array above
24num_cli=16
25
26# this will be the length of each individual test
27# iteration
28length=30
29
30# this will be the settings for confidence intervals
31# you can use a smaller number of iterations but
32# to ensure that everyone is running at the same time
33# the min and max iterations MUST be the same
34confidence="-i 30,30"
35
36# the different number of concurrent sessions to be run
37# if you do not start with one concurrent session the
38# test headers may not be where one wants them and you
39# may need to edit the output to hoist the test header
40# up above the first result
41concurrent_sessions="1 4 8 16 32 64"
42
43# the socket buffer sizes - you may need to tweak
44# some system settings to allow 1M socket buffers
45socket_sizes=" -s 1M -S 1M"
46
47# the burst sizes in the aggregate request/response tests
48#burst_sizes="0 1 4 16 64 256 1024"
49burst_sizes="0 1 4 16"
50
51# this ensures the test header of at least one instance
52# is displayed
53HDR="-P 1"
54
55# -O means "human" -o means "csv" and -k means "keyval"
56# "all" means emit everything it knows to emit. omit "all"
57# and what is emitted will depend on the test. can customize
58# with direct output selection or specifying a file with
59# output selectors in it
60CSV="-o all"
61
62# should tests outbound relative to this system be run?
63DO_STREAM=0
64
65# should tests inbound relative to this system be run?
66DO_MAERTS=0
67
68# should same connection bidirectional tests be run?
69DO_BIDIR=1
70
71# should aggreagte single-byte request/response be run?
72# this can be used to try to get a maximum PPS figure
73DO_RRAGG=1
74
75# here you should echo-out some things about the test
76# particularly those things that will not be automagically
77# captured by netperf.
78echo interrupts spread wherever irqbalanced put them
79echo 4xAD386A in DL785 G5 SLES11B6, HP/vendor drivers
80echo four dl585 G5 clients rh5.2, each with two AD386A
81
82# and here we go
83  if [ $DO_STREAM -eq 1 ]; then
84  echo TCP_STREAM
85  for i in $concurrent_sessions; do
86    j=0;
87    NETUUID=`netperf -t uuid`;
88    echo $i concurrent streams id $NETUUID;
89    while [ $j -lt $i ]; do
90      client=`expr $j % $num_cli` ;
91      netperf $HDR -t omni -c -C -H ${remote_hosts[$client]} -l $length $confidence -- $CSV -H ${remote_hosts[$client]} $socket_sizes -m 64K -u $NETUUID & HDR="-P 0";
92      j=`expr $j + 1`;
93    done;
94    wait;
95  done
96  fi
97#
98  if [ $DO_MAERTS -eq 1 ]; then
99  echo TCP_MAERTS
100  for i in $concurrent_sessions; do
101    j=0;
102    NETUUID=`netperf -t uuid`;
103    echo $i concurrent streams id $NETUUID;
104    while [ $j -lt $i ]; do
105      client=`expr $j % $num_cli` ;
106      netperf $HDR -t omni -c -C -H ${remote_hosts[$client]} -l $length $confidence -- $CSV -H ${remote_hosts[$client]} $socket_sizes -M ,64K -u $NETUUID & HDR="-P 0";
107      j=`expr $j + 1`;
108    done;
109    wait;
110  done
111  fi
112
113  if [ $DO_BIDIR -eq 1 ]; then
114  echo bidir TCP_RR MEGABITS
115  HDR="-P 1"
116  for i in $concurrent_sessions;
117    do j=0;
118    NETUUID=`netperf -t uuid`;
119    echo $i concurrent streams id $NETUUID;
120    while [ $j -lt $i ]; do
121      client=`expr $j % $num_cli` ;
122      netperf $HDR  -t omni -f m -c -C -H ${remote_hosts[$client]} -l $length $confidence -- $CSV  -H ${remote_hosts[$client]} -s 1M -S 1M -r 64K -b 12 -u $NETUUID & HDR="-P 0";
123      j=`expr $j + 1`;
124    done;
125    wait;
126  done
127  fi
128
129  if [ $DO_RRAGG -eq 1 ]; then
130  echo TCP_RR aggregates
131  HDR="-P 1"
132  for i in $concurrent_sessions; do
133    NETUUID=`netperf -t uuid`;
134    echo $i concurrent streams id $NETUUID;
135    for b in $burst_sizes; do
136      echo burst of $b;
137      j=0;
138      while [ $j -lt $i ]; do
139        client=`expr $j % $num_cli` ;
140        netperf $HDR  -t omni -f x -c -C -H ${remote_hosts[$client]} -l $length $confidence -- $CSV  -H ${remote_hosts[$client]} -r 1 -b $b -D -u $NETUUID & HDR="-P 0";
141        j=`expr $j + 1`;
142      done;
143      wait;
144    done;
145  done
146  fi
147
148cat /proc/meminfo
149