Skip to content

Commit f0a6ac2

Browse files
author
root
committed
merged
2 parents 126d519 + bb05bd1 commit f0a6ac2

File tree

1 file changed

+196
-0
lines changed

1 file changed

+196
-0
lines changed

scripts/remote/runX.sh

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
#!/bin/sh
2+
set -u
3+
set -x
4+
set -e
5+
6+
#export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql/
7+
export LD_LIBRARY_PATH=/usr/local/Percona-Server/lib/mysql/
8+
MYSQLDIR=/usr/local/Percona-XtraDB-Cluster-5.5.15
9+
#MYSQLDIR=/usr/local/mysql-5.6.3-m6-linux2.6-x86_64
10+
11+
ulimit -c unlimited
12+
13+
#DR="/mnt/fio320"
14+
DR="/data/fio/d"
15+
#IDR="/data/bench/fio/d"
16+
IDR="/data/fio/d"
17+
LR="/data/fio/d"
18+
#LR="/data/bench/fio/d"
19+
CONFIG="/etc/my.gal.55.cnf"
20+
21+
#SERVER="10.11.12.206"
22+
SERVER="R815"
23+
NINST=1
24+
MAXW=600
25+
WH=$(($MAXW/$NINST))
26+
BP=$((120/$NINST))
27+
BD=/data/bench/back/tpcc$WH
28+
29+
RT=3600
30+
31+
32+
log2="$DR/"
33+
34+
# restore from backup
35+
function restore {
36+
37+
for i in `seq 1 $NINST`
38+
do
39+
ssh $SERVER "mkdir -p $DR$i"
40+
ssh $SERVER "rm -fr $DR$i/*"
41+
42+
ssh $SERVER "mkdir -p $LR$i"
43+
ssh $SERVER "rm -fr $LR$i/*"
44+
45+
ssh $SERVER "mkdir -p $IDR$i"
46+
ssh $SERVER "rm -fr $IDR$i/*"
47+
48+
ssh $SERVER "cp -r $BD/* $DR$i"
49+
50+
ssh $SERVER "cp -r $BD/ibdata1 $IDR$i"
51+
ssh $SERVER "cp /tmp/ib_lru_dump $DR$i"
52+
ssh $SERVER "sync; echo 3 > /proc/sys/vm/drop_caches"
53+
54+
ssh $SERVER "chown mysql.mysql -R $DR$i; chmod -R 755 $DR$i"
55+
ssh $SERVER "chown mysql.mysql -R $LR$i; chmod -R 755 $LR$i"
56+
done
57+
58+
}
59+
60+
function formatc {
61+
62+
set +e
63+
ssh $SERVER "umount /data/fio"
64+
ssh $SERVER "mdadm --stop /dev/md127"
65+
ssh $SERVER "fio-detach /dev/fct0"
66+
ssh $SERVER "fio-detach /dev/fct1"
67+
ssh $SERVER "yes | fio-format -b 4096 /dev/fct0"
68+
ssh $SERVER "yes | fio-format -b 4096 /dev/fct1"
69+
ssh $SERVER "fio-attach /dev/fct0"
70+
ssh $SERVER "fio-attach /dev/fct1"
71+
ssh $SERVER "mdadm --create --verbose /dev/md127 --level=0 --raid-devices=2 --chunk=128 /dev/fioa /dev/fiob"
72+
ssh $SERVER "mkfs.xfs -s size=4096 /dev/md127"
73+
ssh $SERVER "mount /dev/md127 /data/fio -o nobarrier"
74+
set -e
75+
76+
}
77+
78+
79+
function waitm {
80+
81+
while [ true ]
82+
do
83+
84+
mysql -e "set global innodb_max_dirty_pages_pct=0" mysql
85+
86+
wt=`mysql -e "SHOW ENGINE INNODB STATUS\G" | grep "Modified db pages" | sort -u | awk '{print $4}'`
87+
if [[ "$wt" -lt 100 ]] ;
88+
then
89+
mysql -e "set global innodb_max_dirty_pages_pct=90" mysql
90+
break
91+
fi
92+
93+
echo "mysql pages $wt"
94+
sleep 10
95+
done
96+
97+
}
98+
99+
function stratmysqld {
100+
101+
102+
for i in `seq 1 $NINST`
103+
do
104+
PORT=$((3305+$i))
105+
ssh $SERVER "PATH=$PATH:/usr/local/Percona-XtraDB-Cluster-5.5.15/bin numactl --cpunodebind=$(( ($i-1) * 8 / $NINST ))-$((($i-1)*8/$NINST+8/$NINST-1)) --interleave=all $MYSQLDIR/bin/mysqld --defaults-file=$CONFIG --datadir=$DR$i --innodb_thread_concurrency=0 --innodb-buffer-pool-size=${BP}G --innodb-log-file-size=$logsz --innodb_flush_log_at_trx_commit=$trxv --log-error=$DR$i/mysql.error.log --socket=/tmp/mysql$PORT --port=$PORT --innodb_data_home_dir=$IDR$i --innodb_log_group_home_dir=$LR$i --basedir=$MYSQLDIR &"
106+
107+
set +e
108+
109+
while true;
110+
do
111+
mysql -Bse "SELECT 1" mysql -h $SERVER -P $PORT
112+
113+
if [ "$?" -eq 0 ]
114+
then
115+
break
116+
fi
117+
118+
sleep 30
119+
120+
echo -n "."
121+
done
122+
set -e
123+
124+
done
125+
126+
}
127+
128+
129+
# Determine run number for selecting an output directory
130+
RUN_NUMBER=-1
131+
132+
if [ -f ".run_number" ]; then
133+
read RUN_NUMBER < .run_number
134+
fi
135+
136+
if [ $RUN_NUMBER -eq -1 ]; then
137+
RUN_NUMBER=0
138+
fi
139+
140+
OUTDIR=res$RUN_NUMBER
141+
mkdir -p $OUTDIR
142+
143+
RUN_NUMBER=`expr $RUN_NUMBER + 1`
144+
echo $RUN_NUMBER > .run_number
145+
146+
formatc
147+
148+
for trxv in 2
149+
do
150+
for logsz in 4G
151+
do
152+
#for par in 12 24 36 48 60 72
153+
#for par in 12 18 24 30 36
154+
#for par in 4 6 8 10 12
155+
#for par in $((36/$NINST)) $((48/$NINST))
156+
for par in $((48/$NINST))
157+
do
158+
159+
runid="par$par.log$logsz.trx$trxv"
160+
161+
restore
162+
163+
#stratmysqld
164+
165+
exit
166+
167+
sleep 30
168+
169+
ssh -f $SERVER "iostat -dmx 10 $(($RT/10+1)) " >> $OUTDIR/iostat.$runid.res
170+
ssh -f $SERVER "dstat -t -v --nocolor 10 $(($RT/10+1))" > $OUTDIR/dstat_plain.$runid.res
171+
172+
cp $0 $OUTDIR
173+
174+
for i in `seq 1 $NINST`
175+
do
176+
PORT=$((3305+$i))
177+
mysqladmin variables -h $SERVER -P$PORT >> $OUTDIR/mysql_variables.$PORT.res
178+
./innodb_stat.sh $RT $SERVER $PORT >> $OUTDIR/innodb.${runid}.$i.res &
179+
./tpcc_start $SERVER:$PORT tpcc$WH root "" $WH $par 10 $RT | tee -a $OUTDIR/tpcc.${runid}.$i.out &
180+
done
181+
182+
sleep $(($RT+30))
183+
184+
set +e
185+
#ssh $SERVER "killall -s SIGKILL mysqld"
186+
set -e
187+
188+
sleep 60
189+
#ssh $SERVER "cp ${DR}1/ib_lru_dump /tmp"
190+
191+
192+
193+
done
194+
195+
done
196+
done

0 commit comments

Comments
 (0)