# 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