Home | History | Annotate | Download | only in examples
      1 #!/bin/sh
      2 #
      3 # This is an example script for using netperf. Feel free to modify it 
      4 # as necessary, but I would suggest that you copy this one first.
      5 # 
      6 # This version has been modified to take advantage of the confidence
      7 # interval support in revision 2.0 of netperf. it has also been altered
      8 # to make submitting its resutls to the netperf database easier
      9 # raj 11/94
     10 #
     11 # usage: tcp_stream_script hostname [CPU]
     12 #
     13 
     14 if [ $# -gt 2 ]; then
     15   echo "try again, correctly -> tcp_stream_script hostname [CPU]"
     16   exit 1
     17 fi
     18 
     19 if [ $# -eq 0 ]; then
     20   echo "try again, correctly -> tcp_stream_script hostname [CPU]"
     21   exit 1
     22 fi
     23 
     24 # where the programs are
     25 #NETHOME=/usr/local/netperf
     26 #NETHOME="/opt/netperf"
     27 NETHOME=.
     28 
     29 # at what port will netserver be waiting? If you decide to run
     30 # netserver at a different port than the default of 12865, then set
     31 # the value of PORT apropriately
     32 #PORT="-p some_other_portnum"
     33 PORT=""
     34 
     35 # The test length in seconds
     36 TEST_TIME=60
     37 
     38 # How accurate we want the estimate of performance: 
     39 #      maximum and minimum test iterations (-i)
     40 #      confidence level (99 or 95) and interval (percent)
     41 STATS_STUFF="-i 10,2 -I 99,5"
     42 
     43 # The socket sizes that we will be testing
     44 SOCKET_SIZES="128K 57344 32768 8192"
     45 
     46 # The send sizes that we will be using
     47 SEND_SIZES="4096 8192 32768"
     48 
     49 # if there are two parms, parm one it the hostname and parm two will
     50 # be a CPU indicator. actually, anything as a second parm will cause
     51 # the CPU to be measured, but we will "advertise" it should be "CPU"
     52 
     53 if [ $# -eq 2 ]; then
     54   REM_HOST=$1
     55   LOC_CPU="-c"
     56   REM_CPU="-C"
     57 fi
     58 
     59 if [ $# -eq 1 ]; then
     60   REM_HOST=$1
     61 fi
     62 
     63 # If we are measuring CPU utilization, then we can save beaucoup
     64 # time by saving the results of the CPU calibration and passing
     65 # them in during the real tests. So, we execute the new CPU "tests"
     66 # of netperf and put the values into shell vars.
     67 case $LOC_CPU in
     68 \-c) LOC_RATE=`$NETHOME/netperf $PORT -t LOC_CPU`;;
     69 *) LOC_RATE=""
     70 esac
     71 
     72 case $REM_CPU in
     73 \-C) REM_RATE=`$NETHOME/netperf $PORT -t REM_CPU -H $REM_HOST`;;
     74 *) REM_RATE=""
     75 esac
     76 
     77 # this will disable headers
     78 NO_HDR="-P 0"
     79 
     80 for SOCKET_SIZE in $SOCKET_SIZES
     81   do
     82   for SEND_SIZE in $SEND_SIZES
     83     do
     84     echo
     85     echo ------------------------------------
     86     echo
     87     # we echo the command line for cut and paste 
     88     echo $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST -t TCP_STREAM\
     89          $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\
     90          -m $SEND_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE
     91 
     92     echo
     93     # since we have the confidence interval stuff, we do not
     94     # need to repeat a test multiple times from the shell
     95     $NETHOME/netperf $PORT -l $TEST_TIME -H $REM_HOST -t TCP_STREAM\
     96     $LOC_CPU $LOC_RATE $REM_CPU $REM_RATE $STATS_STUFF --\
     97     -m $SEND_SIZE -s $SOCKET_SIZE -S $SOCKET_SIZE
     98 
     99     done
    100   done
    101