github.com/kchristidis/fabric@v1.0.4-0.20171028114726-837acd08cde1/test/tools/LTE/scripts/runbenchmarks.sh (about) 1 #!/bin/bash 2 # 3 # Copyright IBM Corp. All Rights Reserved. 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 # 7 8 source ./benchmarks.sh 9 10 ######################################################################################################## 11 # This shell script contains a series of benchmark tests 12 ######################################################################################################## 13 14 function varyNumParallelTxPerChain { 15 for v in "${ArrayNumParallelTxPerChain[@]}" 16 do 17 NumParallelTxPerChain=$v 18 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 19 done 20 } 21 22 function varyNumChains { 23 for v in "${ArrayNumChains[@]}" 24 do 25 NumChains=$v 26 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 27 done 28 } 29 30 function varyNumKeysInEachTx { 31 for v in "${ArrayNumKeysInEachTx[@]}" 32 do 33 NumKeysInEachTx=$v 34 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 35 done 36 } 37 38 function varyKVSize { 39 for v in "${ArrayKVSize[@]}" 40 do 41 KVSize=$v 42 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 43 done 44 } 45 46 function varyBatchSize { 47 for v in "${ArrayBatchSize[@]}" 48 do 49 BatchSize=$v 50 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 51 done 52 } 53 54 function varyNumParallelTxWithSingleChain { 55 NumChains=1 56 for v in "${ArrayNumParallelTxWithSingleChain[@]}" 57 do 58 NumParallelTxPerChain=$v 59 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 60 done 61 } 62 63 function varyNumChainsWithNoParallelism { 64 NumParallelTxPerChain=1 65 for v in "${ArrayNumChainsWithNoParallelism[@]}" 66 do 67 NumChains=$v 68 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 69 done 70 } 71 72 function varyNumTxs { 73 for v in "${ArrayNumTxs[@]}" 74 do 75 NumTotalTx=$v 76 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 77 done 78 } 79 80 function runLargeDataExperiment { 81 NumKVs=10000000 82 NumTotalTx=10000000 83 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 84 } 85 86 function usage () { 87 printf "Usage: ./runbenchmarks.sh [-f parameter_file_name] [test_name]\nAvailable tests (use \"all\" to run all tests): 88 varyNumParallelTxPerChain 89 varyNumChains 90 varyNumParallelTxWithSingleChain 91 varyNumChainsWithNoParallelism 92 varyNumKeysInEachTx 93 varyKVSize 94 varyBatchSize 95 varyNumTxs 96 runLargeDataExperiment\n" 97 } 98 99 PARAM_FILE="" 100 101 while getopts ":f:" opt; do 102 case $opt in 103 f) 104 printf "Parameter file: $OPTARG" 105 PARAM_FILE=$OPTARG;; 106 \?) 107 printf "Error: invalid parameter -$OPTARG!" >> /dev/stderr 108 usage 109 exit 1;; 110 esac 111 done 112 113 if [ ! $PARAM_FILE ] 114 then 115 printf "Error: No Parameter file given!" >> /dev/stderr 116 usage 117 exit 1 118 else 119 source $PARAM_FILE 120 fi 121 122 shift $(expr $OPTIND - 1 ) 123 124 case $1 in 125 varyNumParallelTxPerChain) 126 varyNumParallelTxPerChain ;; 127 varyNumChains) 128 varyNumChains ;; 129 varyNumParallelTxWithSingleChain) 130 varyNumParallelTxWithSingleChain ;; 131 varyNumChainsWithNoParallelism) 132 varyNumChainsWithNoParallelism ;; 133 varyNumKeysInEachTx) 134 varyNumKeysInEachTx ;; 135 varyKVSize) 136 varyKVSize ;; 137 varyBatchSize) 138 varyBatchSize ;; 139 varyNumTxs) 140 varyNumTxs ;; 141 runLargeDataExperiment) 142 runLargeDataExperiment ;; 143 help) 144 usage 145 ;; 146 all) 147 varyNumParallelTxPerChain 148 varyNumChains 149 varyNumParallelTxWithSingleChain 150 varyNumChainsWithNoParallelism 151 varyNumKeysInEachTx 152 varyKVSize 153 varyBatchSize 154 varyNumTxs 155 runLargeDataExperiment ;; 156 *) 157 printf "Error: test name empty/incorrect!\n" >> /dev/stderr 158 usage 159 exit 1 ;; 160 esac