MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rpl_stress_test.inc
1 ################################################################################
2 # Build connections to master server
3 # Stress test that execute massive queries on every connection
4 #
5 # ################################################################################
6 --connection master
7 --disable_query_log
8 --disable_result_log
9 --let $n= $connections
10 --let $i= 1
11 while ($i < $n)
12 {
13  --eval CREATE TABLE t$i(c1 INT) ENGINE= $engine;
14  --inc $i
15 }
16 --enable_result_log
17 --enable_query_log
18 
19 --sync_slave_with_master
20 
21 --echo # Build connections to master server
22 --disable_query_log
23 --disable_result_log
24 --let $i= 1
25 while ($i < $n)
26 {
27  --connect(con$i,127.0.0.1,root,,test,$MASTER_MYPORT,)
28  --inc $i
29 }
30 --let $i= 1
31 while ($i < $connections)
32 {
33  --connection con$i
34  set session debug="+d,simulate_binlog_flush_error";
35  --inc $i
36 }
37 --enable_result_log
38 --enable_query_log
39 
40 --echo # Stress test that execute massive queries on every connection
41 --let $m= $loops
42 --let $j= 1
43 --disable_query_log
44 --disable_result_log
45 while ($j < $m)
46 {
47  # Execute INSERT statement on these connections in parallel
48  --let $i= 1
49  while ($i < $n)
50  {
51  --connection con$i
52  --send
53  --eval INSERT INTO t$i VALUES(2)
54  --inc $i
55  }
56  # reap on every connection
57  --let $i= 1
58  while ($i < $n)
59  {
60  --connection con$i
61  --reap
62  --inc $i
63  }
64  --inc $j
65 }
66 
67 --let $i= 1
68 while ($i < $connections)
69 {
70  --connection con$i
71  set session debug="-d,simulate_binlog_flush_error";
72  --inc $i
73 }
74 --enable_result_log
75 --enable_query_log
76 
77 --let $slave_timeout= 3600
78 if ($enable_diff_table)
79 {
80 --source include/sync_slave_sql_with_master.inc
81  --echo # Test if the results are consistent on master and slave
82  --let $i= 1
83  while ($i < $n)
84  {
85  --let $diff_tables= master:t$i, slave:t$i
86  --source include/diff_tables.inc
87  --inc $i
88  }
89 }
90 
91 # clean up
92 --connection master
93 --disable_query_log
94 --disable_result_log
95 # disconnect connections
96 --let $i= 1
97 while ($i < $n)
98 {
99  --disconnect con$i
100  --inc $i
101 }
102 # drop tables
103 --let $i= 1
104 while ($i < $n)
105 {
106  --eval DROP TABLE t$i
107  --inc $i
108 }
109 --enable_result_log
110 --enable_query_log
111 --source include/sync_slave_sql_with_master.inc