191 lines
4.9 KiB
Bash
191 lines
4.9 KiB
Bash
# a script to run a set of single-instance netperf tests
|
|
# between two machines
|
|
|
|
# the length in seconds of each test iteration. the actual
|
|
# run time will then be somewhere between that times min
|
|
# and max iteration for confidence intervals
|
|
length=30
|
|
|
|
# unlike the aggregate script, we do not have to worry
|
|
# about everyone all running at the same time, so we can
|
|
# save some time with a lower minimum iteration count
|
|
confidence="-i 30,3"
|
|
|
|
# the CPUs to which the netperf process will be bound
|
|
# via the -T global option
|
|
netperf_CPUs="0 1 2"
|
|
|
|
# the CPUs to which the netserver process will be bound
|
|
# via the -T global option
|
|
netserver_CPUs="0 1 2"
|
|
|
|
# the host/IP to use for the control connection
|
|
control_host=192.168.0.26
|
|
|
|
# the list of host/IP addresses to actually measure over
|
|
remote_hosts="192.168.0.26 fe80::207:43ff:fe05:590a%eth0"
|
|
|
|
#reqs="128 256 512 1024"
|
|
reqs="64 128 256 512 1024 1460 2048 4096 8192"
|
|
|
|
# the burst size for bursted RR tests
|
|
bursts="0 1 2 4 8 16 32 64 128 256"
|
|
|
|
HDR="-P 1"
|
|
# -O means "human" -o means "csv" -k means "keyval"
|
|
# "all" means emit everything. otherwise, specify a
|
|
# list of output selectors directly or a filename with
|
|
# them therein. no parameter means a default set will
|
|
# be emitted based on the test type
|
|
CSV="-o all"
|
|
#CSV="-O all"
|
|
|
|
# which of the tests should we do?
|
|
DO_TCP_STREAM_AUTO=1
|
|
DO_TCP_STREAM_SOPT=1
|
|
DO_TCP_BIDIR=1
|
|
DO_TCP_RR=1
|
|
DO_TCP_CC=0
|
|
DO_TCP_BIDIR_REQ=0
|
|
DO_UDP_BIDIR_REQ=0
|
|
DO_UDP_STREAM=1
|
|
|
|
# when this is set to 0 then netperf and netserver are bound
|
|
# to the same CPU number and we do not walk through all the
|
|
# combinations. one can do this when the two systems are
|
|
# otherwise identical. when they are not, then running
|
|
# through the full matrix may be indicated
|
|
FULL_MATRIX=0
|
|
|
|
# here you should echo some things about the test and its
|
|
# environment and in particular those things not automagically
|
|
# determined by netperf
|
|
echo I NEED TO EDIT THE SCRIPT
|
|
echo interrupts CPU 0 with CPU 1 other socket CPU 2 same socket
|
|
echo ad386a in dl380 g5 2x 5160@3GHz to same
|
|
|
|
# and away we go
|
|
for data in $remote_hosts
|
|
do
|
|
|
|
if [ $DO_TCP_STREAM_AUTO -eq 1 ]
|
|
then
|
|
echo TCP_STREAM to $data autotuning
|
|
for i in $netperf_CPUs
|
|
do
|
|
if [ $FULL_MATRIX -eq 1 ]
|
|
then
|
|
set=$netserver_CPUs
|
|
else
|
|
set=$i
|
|
fi
|
|
for j in $set
|
|
do
|
|
netperf $HDR -T $i,$j -t omni -c -C -H $control_host -l $length $confidence -- $CSV -H $data -m 64K;HDR="-P 0";
|
|
done
|
|
done
|
|
fi
|
|
|
|
if [ $DO_TCP_STREAM_SOPT -eq 1 ]
|
|
then
|
|
echo TCP_STREAM to $data
|
|
HDR="-P 1"
|
|
for i in $netperf_CPUs
|
|
do
|
|
if [ $FULL_MATRIX -eq 1 ]
|
|
then
|
|
set=$netserver_CPUs
|
|
else
|
|
set=$i
|
|
fi
|
|
for j in $set
|
|
do
|
|
netperf $HDR -T $i,$j -t omni -c -C -H $control_host -l $length $confidence -- $CSV -H $data -s 1M -S 1M -m 64K;HDR="-P 0";
|
|
done
|
|
done
|
|
fi
|
|
|
|
if [ $DO_TCP_BIDIR -eq 1 ]
|
|
then
|
|
echo bidir TCP_RR MEGABITS to $data
|
|
HDR="-P 1"
|
|
for i in $netperf_CPUs
|
|
do
|
|
if [ $FULL_MATRIX -eq 1 ]
|
|
then
|
|
set=$netserver_CPUs
|
|
else
|
|
set=$i
|
|
fi
|
|
for j in $set
|
|
do
|
|
netperf $HDR -T $i,$j -t omni -f m -c -C -H $control_host -l $length $confidence -- $CSV -H $data -s 1M -S 1M -r 64K -b 12; HDR="-P 0";
|
|
done
|
|
done
|
|
fi
|
|
|
|
if [ $DO_TCP_RR -eq 1 ]
|
|
then
|
|
echo TCP_RR to $data
|
|
HDR="-P 1"
|
|
for i in $netperf_CPUs
|
|
do
|
|
if [ $FULL_MATRIX -eq 1 ]
|
|
then
|
|
set=$netserver_CPUs
|
|
else
|
|
set=$i
|
|
fi
|
|
for j in $set
|
|
do
|
|
netperf $HDR -T $i,$j -t omni -c -C -H $control_host -l $length $confidence -- $CSV -H $data -r 1; HDR="-P 0";
|
|
done
|
|
done
|
|
fi
|
|
|
|
if [ $DO_TCP_BIDIR_REQ -eq 1 ]
|
|
then
|
|
echo bidir TCP_RR MEGABITS to $data altering req/rsp size and burst
|
|
HDR="-P 1"
|
|
for i in $netperf_CPUs
|
|
do
|
|
for req in $reqs; do
|
|
for burst in $bursts; do
|
|
netperf $HDR -T $i -t omni -f m -c -C -H $control_host -l $length $confidence -- $CSV -H $data -s 1M -S 1M -r $req -b $burst -D;HDR=-"P 0";
|
|
done
|
|
done
|
|
done
|
|
fi
|
|
|
|
if [ $DO_UDP_BIDIR_REQ -eq 1 ]
|
|
then
|
|
echo bidir UDP_RR MEGABITS to $data altering req/rsp size and burst
|
|
HDR="-P 1"
|
|
for i in $netperf_CPUs
|
|
do
|
|
for req in $reqs; do
|
|
for burst in $bursts; do
|
|
netperf $HDR -T $i -t omni -f m -c -C -H $control_host -l $length $confidence -- $CSV -H $data -s 1M -S 1M -r $req -b $burst -T udp;HDR=-"P 0";
|
|
done
|
|
done
|
|
done
|
|
fi
|
|
|
|
if [ $DO_UDP_STREAM -eq 1 ]
|
|
then
|
|
echo UDP_STREAM MEGABITS to $data altering send size, no confidence intvls
|
|
confidence=" "
|
|
echo CPUs $netperf_CPUs reqs $reqs
|
|
HDR="-P 1"
|
|
for i in $netperf_CPUs
|
|
do
|
|
for req in $reqs; do
|
|
netperf $HDR -T $i -t omni -f m -c -C -H $control_host -l $length $confidence -- $CSV -H $data -s 1M -S 1M -m $req -T udp;HDR=-"P 0";
|
|
done
|
|
done
|
|
fi
|
|
|
|
done
|
|
|
|
cat /proc/meminfo
|
|
cat /proc/cpuinfo
|