github.com/tenywen/fabric@v1.0.0-beta.0.20170620030522-a5b1ed380643/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 source ./parameters_daily_CI.sh 10 11 ######################################################################################################## 12 # This shell script contains a series of benchmark tests 13 # The test parameters are imported from "parameters_daily_CI.sh" 14 ######################################################################################################## 15 16 function varyNumParallelTxPerChain { 17 for v in 1 5 10 20 50 100 500 2000; do 18 NumParallelTxPerChain=$v 19 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 20 done 21 } 22 23 function varyNumChains { 24 for v in 1 5 10 20 50 100 500 2000; do 25 NumChains=$v 26 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 27 done 28 } 29 30 function varyNumKeysInEachTx { 31 for v in 1 2 5 10 20; do 32 NumKeysInEachTx=$v 33 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 34 done 35 } 36 37 function varyKVSize { 38 for v in 100 200 500 1000 2000; do 39 KVSize=$v 40 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 41 done 42 } 43 44 function varyBatchSize { 45 for v in 10 20 100 500; do 46 BatchSize=$v 47 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 48 done 49 } 50 51 function varyNumParallelTxWithSingleChain { 52 NumChains=1 53 for v in 1 5 10 20 50 100 500 2000; do 54 NumParallelTxPerChain=$v 55 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 56 done 57 } 58 59 function varyNumChainsWithNoParallelism { 60 NumParallelTxPerChain=1 61 for v in 1 5 10 20 50 100 500 2000; do 62 NumChains=$v 63 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 64 done 65 } 66 67 function varyNumTxs { 68 for v in 1000000 2000000 5000000 10000000; do 69 NumTotalTx=$v 70 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 71 done 72 } 73 74 function runLargeDataExperiment { 75 NumKVs=10000000 76 NumTotalTx=10000000 77 rm -rf $DataDir;runInsertTxs;runReadWriteTxs 78 } 79 80 shift $(expr $OPTIND - 1 ) 81 82 case $1 in 83 varyNumParallelTxPerChain) 84 varyNumParallelTxPerChain ;; 85 varyNumChains) 86 varyNumChains ;; 87 varyNumParallelTxWithSingleChain) 88 varyNumParallelTxWithSingleChain ;; 89 varyNumChainsWithNoParallelism) 90 varyNumChainsWithNoParallelism ;; 91 varyNumKeysInEachTx) 92 varyNumKeysInEachTx ;; 93 varyKVSize) 94 varyKVSize ;; 95 varyBatchSize) 96 varyBatchSize ;; 97 varyNumTxs) 98 varyNumTxs ;; 99 runLargeDataExperiment) 100 runLargeDataExperiment ;; 101 help) 102 printf "Usage: ./runbenchmarks.sh [test_name]\nAvailable tests (use \"all\" to run all tests): 103 varyNumParallelTxPerChain 104 varyNumChains 105 varyNumParallelTxWithSingleChain 106 varyNumChainsWithNoParallelism 107 varyNumKeysInEachTx 108 varyKVSize 109 varyBatchSize 110 varyNumTxs 111 runLargeDataExperiment\n" 112 ;; 113 all) 114 varyNumParallelTxPerChain 115 varyNumChains 116 varyNumParallelTxWithSingleChain 117 varyNumChainsWithNoParallelism 118 varyNumKeysInEachTx 119 varyKVSize 120 varyBatchSize 121 varyNumTxs 122 runLargeDataExperiment ;; 123 *) 124 printf "Error: test name empty/incorrect!\n" >> /dev/stderr 125 exit 1 ;; 126 esac