-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstart.sh
98 lines (84 loc) · 3.06 KB
/
start.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/bash
WORKSPACE=$(cd `dirname $0`; pwd)
SERVER=127.0.0.1
PORT=6001
USER=dump
PASS=111
MO_DIR=matrixone
MOSYSBENCH_DIR=tools/mo-sysbench
MOTESTER_DIR=tools/mo-tester
MOLOAD_DIR=tools/mo-load
MOTPCH_DIR=tools/mo-tpch
##function : start BVT test
function startBVTTest() {
local times=$1
cd ${WORKSPACE}/${MOTESTER_DIR}
touch log.txt
for i in $(seq 1 ${times})
do
echo "The ${i} turn has been started......." >> log.txt
bash run.sh -p ${WORKSPACE}/${MO_DIR}/test/cases -n -g -e database
echo `head -n 1 report/report.txt` >> log.txt
mkdir -p ${WORKSPACE}/${MOTESTER_DIR}/report/${i}/
mv ${WORKSPACE}/${MOTESTER_DIR}/report/*.txt ${WORKSPACE}/${MOTESTER_DIR}/report/${i}/
done
}
##function : start sysbench mixed test
function startSysbenchTest() {
#create test db
mysql -h${SERVER} -P${PORT} -u${USER} -p${PASS} -e "create database if not exists sbtest" 2>/dev/null
if [ $? -ne 0 ];then
echo -e "The sysbench test database[sbtest] has been created failed, please check manullay"
exit 1
fi
#init sysbench test data
cd ${WORKSPACE}/${MOSYSBENCH_DIR}
sysbench --mysql-host=${SERVER} --mysql-port=${PORT} --mysql-user=${USER} --mysql-password=${PASS} oltp_common.lua --tables=10 --table_size=100000 --threads=1 --time=30 --report-interval=10 --create_secondary=off --auto_inc=off cleanup
sysbench --mysql-host=${SERVER} --mysql-port=${PORT} --mysql-user=${USER} --mysql-password=${PASS} oltp_common.lua --tables=10 --table_size=100000 --threads=1 --time=30 --report-interval=10 --create_secondary=off --auto_inc=off prepare
if [ $? -eq 0 ];then
echo -e "The sysbench test data has been initialized successfully"
else
echo -e "The sysbench test data has been initialized failed, please check manullay"
exit 1
fi
#start test
cd ${WORKSPACE}/${MOLOAD_DIR}
cp cases/sysbench/*.yml .
bash start.sh
}
#function : start tpch queries
function startTPCHTest() {
cd ${WORKSPACE}/${MOTPCH_DIR}
#build
cd ${WORKSPACE}/${MOTPCH_DIR}/dbgen
make clean & make
cd ${WORKSPACE}/${MOTPCH_DIR}
#init tpch test data
./run.sh -g -s 5
./run.sh -c -s 5
./run.sh -l -s 5
if [ $? -eq 0 ];then
echo -e "The tpch test data has been initialized successfully"
else
echo -e "The tpch test data has been initialized failed, please check manullay"
exit 1
fi
#start tpch queries
local times=$1
touch log.txt
for i in $(seq 1 ${times})
do
echo "The ${i} turn has been started......." >> log.txt
bash run.sh -q all -s 5 >> log.txt
mkdir -p ${WORKSPACE}/${MOTPCH_DIR}/report/${i}/
mv ${WORKSPACE}/${MOTPCH_DIR}/report/r* ${WORKSPACE}/${MOTPCH_DIR}/report/${i}/
done
}
bash deploy.sh
startBVTTest 1000 > BVTTest.log &
echo -e "The bvt test has been started in the background"
startSysbenchTest > SysbenchTest.log &
echo -e "The sysbench test for read-write case has been started in the background"
#startTPCHTest 2
startTPCHTest 1000 > TPCHTest.log &
echo -e "The tpch test for 0.1G scale has been started in the background"