Skip to content

Instantly share code, notes, and snippets.

@tabokie
Created November 25, 2021 13:21
Show Gist options
  • Save tabokie/9359759eedf39e637014d3f70c6680ee to your computer and use it in GitHub Desktop.
Save tabokie/9359759eedf39e637014d3f70c6680ee to your computer and use it in GitHub Desktop.
nemesis.211125
#!/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
#!/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