| #!/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 version has been modified to take advantage of the confidence | |
| # interval support in revision 2.0 of netperf. it has also been altered | |
| # to make submitting its resutls to the netperf database easier | |
| # raj 11/94 | |
| # | |
| # usage: tcp_rr_script hostname [CPU] | |
| # | |
| if [ $# -gt 2 ]; then | |
| echo "try again, correctly -> tcp_rr_script hostname [CPU]" | |
| exit 1 | |
| fi | |
| if [ $# -eq 0 ]; then | |
| echo "try again, correctly -> tcp_rr_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,3 -I 99,5" | |
| # The socket sizes that we will be testing - using zero will let it | |
| # be the system default. | |
| SOCKET_SIZES="0" | |
| # The request,response sizes that we will be using. The netperf | |
| # command parser will treat "1" the same as "1,1" - I use 1,1 to | |
| # remember that it is "request,response" | |
| RR_SIZES="1,1 64,64 100,200 128,8192" | |
| # 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 | |
| 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 disables header display | |
| NO_HDR="-P 0" | |
| for SOCKET_SIZE in $SOCKET_SIZES | |
| do | |
| for RR_SIZE in $RR_SIZES | |
| do | |
| echo | |
| echo ------------------------------------------------------ | |
| echo Testing with the following command line: | |
| # we echo the command line for cut and paste to th database | |
| echo $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST -t TCP_RR \ | |
| $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\ | |
| -r $RR_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE | |
| echo | |
| # since we have the confidence interval stuff, we do not | |
| # need to repeat a test multiple times from the shell | |
| $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST -t TCP_RR \ | |
| $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\ | |
| -r $RR_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. |