148 lines
4.4 KiB
Bash
148 lines
4.4 KiB
Bash
#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
|