Back to home page

Enduro/X

 
 

    


0001 #!/bin/bash
0002 
0003 #
0004 # @(#) Run the benchmarks on given platform
0005 #
0006 
0007 if [ "$#" -ne 1 ]; then
0008     echo "Usage: $(basename "$0") <configuration name>"
0009     exit 1
0010 fi
0011 
0012 export NDRX_BENCH_CONFIGNAME=$1
0013 
0014 echo "Config name: $NDRX_BENCH_CONFIGNAME"
0015 
0016 
0017 function clean_lines {
0018 
0019     if [ -f $NDRX_BENCH_FILE ]; then
0020         echo "Cleaning up: $NDRX_BENCH_FILE"
0021         grep -v "$NDRX_BENCH_CONFIGNAME" $NDRX_BENCH_FILE
0022         grep -v "$NDRX_BENCH_CONFIGNAME" $NDRX_BENCH_FILE  > tmp.g
0023         mv tmp.g $NDRX_BENCH_FILE
0024     fi
0025 }
0026 
0027 ################################################################################
0028 # 6. tpcache
0029 ################################################################################
0030 export NDRX_BENCH_FILE=`pwd`/06_tpcache.txt
0031 
0032 if [[ "$NDRX_BENCH_CONFIGNAME" != "r" ]]; then
0033     clean_lines;
0034     pushd .
0035     cd ../../atmitest/test048_cache
0036     ./benchmark.sh
0037     popd
0038 fi
0039 
0040 #
0041 # Generate the chart
0042 #
0043 export NDRX_BENCH_TITLE="Tpcall cache benchmark"
0044 export NDRX_BENCH_X_LABEL="Msg Size (KB)"
0045 export NDRX_BENCH_Y_LABEL="Calls Per Second (tpcall()/sec)"
0046 export NDRX_BENCH_OUTFILE="06_tpcache.png"
0047 R -f genchart.r
0048 
0049 ################################################################################
0050 # 5. tpenqueue() - persistent storage
0051 ################################################################################
0052 export NDRX_BENCH_FILE=`pwd`/05_persistent_storage.txt
0053 
0054 if [[ "$NDRX_BENCH_CONFIGNAME" != "r" ]]; then
0055     clean_lines;
0056     pushd .
0057     cd ../../atmitest/test028_tmq
0058     ./run-doc-bench-05.sh
0059     popd
0060 fi
0061 
0062 #
0063 # Generate the chart
0064 #
0065 export NDRX_BENCH_TITLE="Persistent storage (enqueue msg to disk)"
0066 export NDRX_BENCH_X_LABEL="Msg Size (KB)"
0067 export NDRX_BENCH_Y_LABEL="Calls Per Second (tpenqueue()/sec)"
0068 export NDRX_BENCH_OUTFILE="05_persistent_storage.png"
0069 R -f genchart.r
0070 
0071 ################################################################################
0072 # 4. tpacall() - async call benchmark
0073 ################################################################################
0074 export NDRX_BENCH_FILE=`pwd`/04_tpacall.txt
0075 
0076 if [[ "$NDRX_BENCH_CONFIGNAME" != "r" ]]; then
0077     clean_lines;
0078     pushd .
0079     cd ../../atmitest/test001_basiccall
0080     ./run-doc-bench-04.sh
0081     popd
0082 fi
0083 
0084 #
0085 # Generate the chart
0086 #
0087 export NDRX_BENCH_TITLE="One client, one server, tpacall (request only)"
0088 export NDRX_BENCH_X_LABEL="Msg Size (KB)"
0089 export NDRX_BENCH_Y_LABEL="Calls Per Second (tpacall()/sec)"
0090 export NDRX_BENCH_OUTFILE="04_tpacall.png"
0091 R -f genchart.r
0092 
0093 ################################################################################
0094 # 3. Threaded tpcalls.
0095 ################################################################################
0096 export NDRX_BENCH_FILE=`pwd`/03_tpcall_threads.txt
0097 
0098 if [[ "$NDRX_BENCH_CONFIGNAME" != "r" ]]; then
0099 clean_lines;
0100 pushd .
0101 cd ../../atmitest/test015_threads
0102 ./run-doc-bench-03.sh
0103 popd
0104 fi
0105 
0106 #
0107 # Generate the chart
0108 #
0109 export NDRX_BENCH_TITLE="5x clients, 5x servers, request+reply"
0110 export NDRX_BENCH_X_LABEL="Msg Size (KB)"
0111 export NDRX_BENCH_Y_LABEL="Calls Per Second (tpcall()/sec)"
0112 export NDRX_BENCH_OUTFILE="03_tpcall_threads.png"
0113 R -f genchart.r
0114 ################################################################################
0115 # 2. Next we do network benchmark, client one side, server another
0116 ################################################################################
0117 export NDRX_BENCH_FILE=`pwd`/02_tpcall_dom.txt
0118 
0119 if [[ "$NDRX_BENCH_CONFIGNAME" != "r" ]]; then
0120 clean_lines;
0121 pushd .
0122 cd ../../atmitest/test001_basiccall
0123 ./run-doc-bench-02.sh
0124 popd
0125 fi
0126 
0127 #
0128 # Generate the chart
0129 #
0130 export NDRX_BENCH_TITLE="Networked: One client, one server, tpcall, request+reply"
0131 export NDRX_BENCH_X_LABEL="Msg Size (KB)"
0132 export NDRX_BENCH_Y_LABEL="Calls Per Second (tpcall()/sec)"
0133 export NDRX_BENCH_OUTFILE="02_tpcall_network.png"
0134 R -f genchart.r
0135 
0136 
0137 ################################################################################
0138 # 1. First test case, basic benchmarking (pure tpcall)
0139 # Single threaded (one client, one server), request + reply
0140 ################################################################################
0141 export NDRX_BENCH_FILE=`pwd`/01_tpcall.txt
0142 
0143 if [[ "$NDRX_BENCH_CONFIGNAME" != "r" ]]; then
0144 clean_lines;
0145 pushd .
0146 cd ../../atmitest/test001_basiccall
0147 ./run-doc-bench-01.sh
0148 popd
0149 fi
0150 
0151 #
0152 # Generate the chart
0153 #
0154 export NDRX_BENCH_TITLE="One client, one server, tpcall, request+reply"
0155 export NDRX_BENCH_X_LABEL="Msg Size (KB)"
0156 export NDRX_BENCH_Y_LABEL="Calls Per Second (tpcall()/sec)"
0157 export NDRX_BENCH_OUTFILE="01_tpcall.png"
0158 R -f genchart.r
0159 
0160