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