Created
November 25, 2021 13:21
-
-
Save tabokie/9359759eedf39e637014d3f70c6680ee to your computer and use it in GitHub Desktop.
nemesis.211125
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
USER_NAME=root | |
CLUSTER_NAME="tidb-test" | |
NODES_ADDR=("172.16.6.211" "172.16.6.213" "172.16.6.159" "172.16.4.203" "172.16.5.213") | |
TIKV_PORT=20160 | |
CLUSTER_STATE="r" | |
NODES_STATE=( "r" "r" "r" "r" "r" ) | |
kill_one() { | |
node_idx=$((`shuf -i 1-${#NODES_STATE[@]} -n 1` - 1)) | |
echo "[`date +%D-%T`] kill node $node_idx by signal" | |
ssh kv${node_idx} "sudo killall tikv-server" | |
sleep 60s | |
} | |
kill_hard() { | |
node_idx=$((`shuf -i 1-${#NODES_STATE[@]} -n 1` - 1)) | |
echo "[`date +%D-%T`] kill node $node_idx by systemd" | |
ssh kv${node_idx} "sudo systemctl stop tikv-20160.service" | |
sleep 300s | |
echo "[`date +%D-%T`] restart node $node_idx by systemd" | |
ssh kv${node_idx} "sudo systemctl start tikv-20160.service" | |
sleep 60s | |
} | |
scale() { | |
node_idx=$((`shuf -i 1-${#NODES_STATE[@]} -n 1` - 1)) | |
echo "[`date +%D-%T`] scale in node $node_idx" | |
tiup cluster scale-in $CLUSTER_NAME --node ${NODES_ADDR[node_idx]}:$TIKV_PORT -y | |
sleep 150s | |
echo "[`date +%D-%T`] scale out node $node_idx" | |
yes | tiup cluster scale-out $CLUSTER_NAME ./data/topology.yaml -y | |
sleep 150s | |
} | |
toggle() { | |
node_idx=$((`shuf -i 1-${#NODES_STATE[@]} -n 1` - 1)) | |
if [[ ${NODES_STATE[node_idx]} == "r" ]]; then | |
NODES_STATE[node_idx]="v" | |
echo "[`date +%D-%T`] toggle node $node_idx to vanilla" | |
SOURCE_TOML="tikv.vanilla" | |
else | |
NODES_STATE[node_idx]="r" | |
echo "[`date +%D-%T`] toggle node $node_idx to raft engine" | |
SOURCE_TOML="tikv.engine" | |
fi | |
ssh kv${node_idx} "cp ${SOURCE_TOML} /data/deploy/tikv-20160/conf/tikv.toml && sudo killall tikv-server" | |
sleep 60s | |
} | |
toggle_hard() { | |
if [[ ${CLUSTER_STATE} == "r" ]]; then | |
CLUSTER_STATE="v" | |
SOURCE_META="meta.vanilla" | |
echo "[`date +%D-%T`] toggle cluster to vanilla" | |
else | |
CLUSTER_STATE="r" | |
SOURCE_META="meta.engine" | |
echo "[`date +%D-%T`] toggle cluster to raft engine" | |
fi | |
cp $SOURCE_META ~/.tiup/storage/cluster/clusters/${CLUSTER_NAME}/meta.yaml | |
tiup cluster reload ${CLUSTER_NAME} -y | |
} | |
declare -a actions=( kill_one kill_hard toggle toggle_hard ) | |
while : ; do | |
idx=$((`shuf -i 1-${#actions[@]} -n 1` - 1)) | |
${actions[idx]} | |
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
i=0 | |
while : ; do | |
go-tpc tpcc -T ${TPCC_THREADS} --host ${TIDB} --warehouses ${TPCC_WAREHOUSE} --time ${TPCC_DURATION} run | tee nohup.${i}.run | |
i=$(($i + 1)) | |
sleep 15s | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment