github.com/oam-dev/kubevela@v1.9.11/hack/load-test/deploy.sh (about)

     1  #!/bin/bash
     2  
     3  BEGIN=${BEGIN:-1}
     4  SIZE=${SIZE:-1000}
     5  WORKER=${WORKER:-6}
     6  VERSION=${VERSION:-1}
     7  CLUSTER=${CLUSTER:-4}
     8  QPS=${QPS:-1}
     9  
    10  SHARD=${SHARD:-3}
    11  
    12  TEMPLATE=${TEMPLATE:-"light"}
    13  
    14  END=$(expr $BEGIN + $SIZE - 1)
    15  
    16  waitTime=$(expr 1000 / $QPS)e-3
    17  
    18  run() {
    19    for i in $(seq $1 $3 $2); do
    20      sid=$(expr $i % $SHARD)
    21      v=${VERSION}
    22      c=$(expr $i % $CLUSTER)
    23      cat ./app-templates/$TEMPLATE.yaml | \
    24        sed 's/ID/'$i'/g' | \
    25        sed 's/SHARD/'$sid'/g' | \
    26        sed 's/VERSION/'$v'/g' | \
    27        sed 's/CLUSTER/'$c'/g' | \
    28        kubectl apply -f -
    29      echo "worker $4: apply app $i to $sid"
    30      sleep $waitTime
    31    done
    32    echo "worker $4: done"
    33  }
    34  
    35  for i in $(seq 1 $WORKER); do
    36    run $(expr $BEGIN + $i - 1) $END $WORKER $i &
    37  done
    38  
    39  wait