kubevela/hack/load-test/deploy.sh

40 lines
738 B
Bash

#!/bin/bash
BEGIN=${BEGIN:-1}
SIZE=${SIZE:-1000}
WORKER=${WORKER:-6}
VERSION=${VERSION:-1}
CLUSTER=${CLUSTER:-4}
QPS=${QPS:-1}
SHARD=${SHARD:-3}
TEMPLATE=${TEMPLATE:-"light"}
END=$(expr $BEGIN + $SIZE - 1)
waitTime=$(expr 1000 / $QPS)e-3
run() {
for i in $(seq $1 $3 $2); do
sid=$(expr $i % $SHARD)
v=${VERSION}
c=$(expr $i % $CLUSTER)
cat ./app-templates/$TEMPLATE.yaml | \
sed 's/ID/'$i'/g' | \
sed 's/SHARD/'$sid'/g' | \
sed 's/VERSION/'$v'/g' | \
sed 's/CLUSTER/'$c'/g' | \
kubectl apply -f -
echo "worker $4: apply app $i to $sid"
sleep $waitTime
done
echo "worker $4: done"
}
for i in $(seq 1 $WORKER); do
run $(expr $BEGIN + $i - 1) $END $WORKER $i &
done
wait