| #!/bin/sh |
| # |
| # This is an example script for using netperf. Feel free to modify it |
| # as necessary, but I would suggest that you copy this one first. |
| # This script performs various UDP unidirectional stream tests. |
| # |
| |
| if [ $# -gt 2 ]; then |
| echo "try again, correctly -> udp_stream_script hostname [CPU]" |
| exit 1 |
| fi |
| |
| if [ $# -eq 0 ]; then |
| echo "try again, correctly -> udp_stream_script hostname [CPU]" |
| exit 1 |
| fi |
| |
| # where the programs are |
| |
| #NETHOME=/usr/local/netperf |
| #NETHOME="/opt/netperf" |
| NETHOME="." |
| |
| # at what port will netserver be waiting? If you decide to run |
| # netserver at a differnet port than the default of 12865, then set |
| # the value of PORT apropriately |
| #PORT="-p some_other_portnum" |
| PORT="" |
| |
| # The test length in seconds |
| TEST_TIME=60 |
| |
| # How accurate we want the estimate of performance: |
| # maximum and minimum test iterations (-i) |
| # confidence level (99 or 95) and interval (percent) |
| |
| STATS_STUFF="-i 10,2 -I 99,10" |
| |
| # The socket sizes that we will be testing. This should be a list of |
| # integers separated by spaces |
| |
| SOCKET_SIZES="32768" |
| |
| # The send sizes that we will be using. Using send sizes that result |
| # in UDP packets which are larger than link size can be a bad thing to do. |
| # for FDDI, you can tack-on a 4096 data point |
| |
| SEND_SIZES="64 1024 1472" |
| |
| # if there are two parms, parm one it the hostname and parm two will |
| # be a CPU indicator. actually, anything as a second parm will cause |
| # the CPU to be measured, but we will "advertise" it should be "CPU" |
| |
| if [ $# -eq 2 ]; then |
| REM_HOST=$1 |
| LOC_CPU="-c" |
| REM_CPU="-C" |
| fi |
| |
| if [ $# -eq 1 ]; then |
| LOC_CPU="" |
| REM_CPU="" |
| REM_HOST=$1 |
| fi |
| |
| # If we are measuring CPU utilization, then we can save beaucoup |
| # time by saving the results of the CPU calibration and passing |
| # them in during the real tests. So, we execute the new CPU "tests" |
| # of netperf and put the values into shell vars. |
| case $LOC_CPU in |
| \-c) LOC_RATE=`$NETHOME/netperf $PORT -t LOC_CPU`;; |
| *) LOC_RATE="" |
| esac |
| |
| case $REM_CPU in |
| \-C) REM_RATE=`$NETHOME/netperf $PORT -t REM_CPU -H $REM_HOST`;; |
| *) REM_RATE="" |
| esac |
| |
| # This will tell netperf that headers are not to be displayed |
| NO_HDR="-P 0" |
| |
| for SOCKET_SIZE in $SOCKET_SIZES |
| do |
| for SEND_SIZE in $SEND_SIZES |
| do |
| echo |
| echo ------------------------------------------------------ |
| echo Testing with the following command line: |
| echo $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST $STATS_STUFF \ |
| $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE -t UDP_STREAM -- \ |
| -m $SEND_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE |
| |
| $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST $STATS_STUFF \ |
| $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE -t UDP_STREAM -- \ |
| -m $SEND_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE |
| |
| done |
| done |
| echo |
| echo If you wish to submit these results to the netperf database at |
| echo http://www.cup.hp.com/netperf/NetperfPage.html, please submit each |
| echo datapoint individually. Individual datapoints are separated by |
| echo lines of dashes. |