| #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 |