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