aboutsummaryrefslogtreecommitdiff
path: root/doc/examples/runemomniagg2.sh
diff options
context:
space:
mode:
Diffstat (limited to 'doc/examples/runemomniagg2.sh')
-rw-r--r--doc/examples/runemomniagg2.sh148
1 files changed, 148 insertions, 0 deletions
diff --git a/doc/examples/runemomniagg2.sh b/doc/examples/runemomniagg2.sh
new file mode 100644
index 0000000..7038561
--- /dev/null
+++ b/doc/examples/runemomniagg2.sh
@@ -0,0 +1,148 @@
+#set -x
+# edit and add to this array as necessary
+# the hosts you will use should be contiguous
+# starting at index zero
+remote_hosts[0]=192.168.2.3
+remote_hosts[1]=192.168.3.5
+remote_hosts[2]=192.168.4.6
+remote_hosts[3]=192.168.5.7
+remote_hosts[4]=192.168.2.5
+remote_hosts[5]=192.168.3.3
+remote_hosts[6]=192.168.4.7
+remote_hosts[7]=192.168.5.6
+remote_hosts[8]=192.168.2.6
+remote_hosts[9]=192.168.3.7
+remote_hosts[10]=192.168.4.3
+remote_hosts[11]=192.168.5.5
+remote_hosts[12]=192.168.2.7
+remote_hosts[13]=192.168.3.6
+remote_hosts[14]=192.168.4.5
+remote_hosts[15]=192.168.5.3
+
+# this should always be less than or equal to the
+# number of valid hosts in the array above
+num_cli=16
+
+# this will be the length of each individual test
+# iteration
+length=30
+
+# this will be the settings for confidence intervals
+# you can use a smaller number of iterations but
+# to ensure that everyone is running at the same time
+# the min and max iterations MUST be the same
+confidence="-i 30,30"
+
+# the different number of concurrent sessions to be run
+# if you do not start with one concurrent session the
+# test headers may not be where one wants them and you
+# may need to edit the output to hoist the test header
+# up above the first result
+concurrent_sessions="1 4 8 16 32 64"
+
+# the socket buffer sizes - you may need to tweak
+# some system settings to allow 1M socket buffers
+socket_sizes=" -s 1M -S 1M"
+
+# the burst sizes in the aggregate request/response tests
+#burst_sizes="0 1 4 16 64 256 1024"
+burst_sizes="0 1 4 16"
+
+# this ensures the test header of at least one instance
+# is displayed
+HDR="-P 1"
+
+# -O means "human" -o means "csv" and -k means "keyval"
+# "all" means emit everything it knows to emit. omit "all"
+# and what is emitted will depend on the test. can customize
+# with direct output selection or specifying a file with
+# output selectors in it
+CSV="-o all"
+
+# should tests outbound relative to this system be run?
+DO_STREAM=0
+
+# should tests inbound relative to this system be run?
+DO_MAERTS=0
+
+# should same connection bidirectional tests be run?
+DO_BIDIR=1
+
+# should aggreagte single-byte request/response be run?
+# this can be used to try to get a maximum PPS figure
+DO_RRAGG=1
+
+# here you should echo-out some things about the test
+# particularly those things that will not be automagically
+# captured by netperf.
+echo interrupts spread wherever irqbalanced put them
+echo 4xAD386A in DL785 G5 SLES11B6, HP/vendor drivers
+echo four dl585 G5 clients rh5.2, each with two AD386A
+
+# and here we go
+ if [ $DO_STREAM -eq 1 ]; then
+ echo TCP_STREAM
+ for i in $concurrent_sessions; do
+ j=0;
+ NETUUID=`netperf -t uuid`;
+ echo $i concurrent streams id $NETUUID;
+ while [ $j -lt $i ]; do
+ client=`expr $j % $num_cli` ;
+ 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";
+ j=`expr $j + 1`;
+ done;
+ wait;
+ done
+ fi
+#
+ if [ $DO_MAERTS -eq 1 ]; then
+ echo TCP_MAERTS
+ for i in $concurrent_sessions; do
+ j=0;
+ NETUUID=`netperf -t uuid`;
+ echo $i concurrent streams id $NETUUID;
+ while [ $j -lt $i ]; do
+ client=`expr $j % $num_cli` ;
+ 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";
+ j=`expr $j + 1`;
+ done;
+ wait;
+ done
+ fi
+
+ if [ $DO_BIDIR -eq 1 ]; then
+ echo bidir TCP_RR MEGABITS
+ HDR="-P 1"
+ for i in $concurrent_sessions;
+ do j=0;
+ NETUUID=`netperf -t uuid`;
+ echo $i concurrent streams id $NETUUID;
+ while [ $j -lt $i ]; do
+ client=`expr $j % $num_cli` ;
+ 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";
+ j=`expr $j + 1`;
+ done;
+ wait;
+ done
+ fi
+
+ if [ $DO_RRAGG -eq 1 ]; then
+ echo TCP_RR aggregates
+ HDR="-P 1"
+ for i in $concurrent_sessions; do
+ NETUUID=`netperf -t uuid`;
+ echo $i concurrent streams id $NETUUID;
+ for b in $burst_sizes; do
+ echo burst of $b;
+ j=0;
+ while [ $j -lt $i ]; do
+ client=`expr $j % $num_cli` ;
+ 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";
+ j=`expr $j + 1`;
+ done;
+ wait;
+ done;
+ done
+ fi
+
+cat /proc/meminfo