3273 Andrei Elkin 2011-04-03
wl#5569 MTS
Benchmarking related patch uniforms rpl_parallel to be run with arbitrary number of
workers, db:s, tables, etc.
TODO: to restore the final constinency check which is given out temporary while i could
not find a way to leave it surrounded with a --dis/en-able* stanza.
@ mysql-test/extra/rpl_tests/rpl_parallel_load.test
making the load generator to be indifferent to all parameters incl the number of db:s.
Have to comment out the final consistency check sinc could not find a way to
hide the verified table(s) line out of the results.
@ mysql-test/suite/rpl/r/rpl_parallel.result
results got updated.
@ mysql-test/suite/rpl/r/rpl_sequential.result
results got updated.
@ mysql-test/suite/rpl/t/rpl_parallel-slave.opt
the test caller has to supply -mysqld=--mts-slave-parallel-workers=[:num:].
With :num: == 0 the test is equivalent to rpl_sequential.
@ mysql-test/suite/rpl/t/rpl_parallel.test
removed traces of the number of workers that can vary in [0 - ..] range.
The test caller has to supply -mysqld=--mts-slave-parallel-workers=[:num:].
With :num: == 0 the test is equivalent to rpl_sequential.
modified:
mysql-test/extra/rpl_tests/rpl_parallel_load.test
mysql-test/suite/rpl/r/rpl_parallel.result
mysql-test/suite/rpl/r/rpl_sequential.result
mysql-test/suite/rpl/t/rpl_parallel-slave.opt
mysql-test/suite/rpl/t/rpl_parallel.test
3272 Andrei Elkin 2011-04-02
wl#5569 MTS
a test file for benchmarking is added.
Benchmarking results can be gained by extracting the master side generating
and the slave side applying times like in the following loop:
workers=6;
for n in `seq 1 3`;
do echo; echo loop: $n; echo;
my_mtr.sh --mysqld=--mts-slave-parallel-workers=$workers \
rpl_parallel_benchmark --mysqld=--binlog-format=statement \
&& cat /dev/shm/var/mysqld.2/data/test/delta.out >> p${workers}_stmt.out 2>&1;
done
@ mysql-test/extra/rpl_tests/rpl_parallel_benchmark_load.test
the load generator for a test file for benchmarking is added.
@ mysql-test/suite/rpl/r/rpl_parallel_benchmark.result
a new results file is added.
@ mysql-test/suite/rpl/t/rpl_parallel_benchmark-slave.opt
slave does to log into binary log. The number of workers is supposed to set via --mysqld at mtr invocation.
@ mysql-test/suite/rpl/t/rpl_parallel_benchmark.test
a test file for benchmarking is added.
added:
mysql-test/extra/rpl_tests/rpl_parallel_benchmark_load.test
mysql-test/suite/rpl/r/rpl_parallel_benchmark.result
mysql-test/suite/rpl/t/rpl_parallel_benchmark-master.opt
mysql-test/suite/rpl/t/rpl_parallel_benchmark-slave.opt
mysql-test/suite/rpl/t/rpl_parallel_benchmark.test
=== modified file 'mysql-test/extra/rpl_tests/rpl_parallel_load.test'
--- a/mysql-test/extra/rpl_tests/rpl_parallel_load.test 2010-12-27 18:54:41 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_parallel_load.test 2011-04-03 10:07:30 +0000
@@ -6,7 +6,7 @@
# load volume parameter
#
-let $iter = 1000;
+let $iter = 250;
# windows run on PB2 is too slow to time out
disable_query_log;
@@ -16,7 +16,7 @@ if (`select convert(@@version_compile_os
}
enable_query_log;
-let $databases = 4;
+let $databases = 16;
connection slave;
@@ -259,30 +259,29 @@ select ts from test0.benchmark where sta
select time_to_sec(@m_1) - time_to_sec(@m_0) as 'delta_m',
time_to_sec(@s_1) - time_to_sec(@s_0) as 'delta_s' into outfile 'delta.out';
---enable_result_log
---enable_query_log
-
-
-let $i = $databases + 1;
-while($i)
-{
- let $i1 = $i;
- dec $i1;
- let $diff_tables=master:test$i1.v_tm_nk, slave:test$i1.v_tm_nk;
- source include/diff_tables.inc;
+# let $i = $databases + 1;
+# while($i)
+# {
+# let $i1 = $i;
+# dec $i1;
+
+# let $diff_tables=master:test$i1.v_tm_nk, slave:test$i1.v_tm_nk;
+# source include/diff_tables.inc;
+
+# let $diff_tables=master:test$i1.v_ti_nk, slave:test$i1.v_ti_nk;
+# source include/diff_tables.inc;
- let $diff_tables=master:test$i1.v_ti_nk, slave:test$i1.v_ti_nk;
- source include/diff_tables.inc;
+# let $diff_tables=master:test$i1.v_tm_wk, slave:test$i1.v_tm_wk;
+# source include/diff_tables.inc;
- let $diff_tables=master:test$i1.v_tm_wk, slave:test$i1.v_tm_wk;
- source include/diff_tables.inc;
+# let $diff_tables=master:test$i1.v_ti_wk, slave:test$i1.v_ti_wk;
+# source include/diff_tables.inc;
- let $diff_tables=master:test$i1.v_ti_wk, slave:test$i1.v_ti_wk;
- source include/diff_tables.inc;
-
- dec $i;
-}
+# dec $i;
+# }
+--enable_result_log
+--enable_query_log
connection master;
=== modified file 'mysql-test/suite/rpl/r/rpl_parallel.result'
--- a/mysql-test/suite/rpl/r/rpl_parallel.result 2010-12-27 18:54:41 +0000
+++ b/mysql-test/suite/rpl/r/rpl_parallel.result 2011-04-03 10:07:30 +0000
@@ -1,9 +1,5 @@
include/master-slave.inc
[connection master]
-set @save.mts_slave_parallel_workers= @@global.mts_slave_parallel_workers;
-select @@global.mts_slave_parallel_workers as 'non-zero means parallel';
-non-zero means parallel
-4
call mtr.add_suppression('Slave: Error dropping database');
include/stop_slave.inc
start slave;
@@ -16,22 +12,5 @@ select ts from test0.benchmark where sta
select ts from test0.benchmark where state like 'slave ends load' into @s_1;
select time_to_sec(@m_1) - time_to_sec(@m_0) as 'delta_m',
time_to_sec(@s_1) - time_to_sec(@s_0) as 'delta_s' into outfile 'delta.out';
-include/diff_tables.inc [master:test3.v_tm_nk, slave:test3.v_tm_nk]
-include/diff_tables.inc [master:test3.v_ti_nk, slave:test3.v_ti_nk]
-include/diff_tables.inc [master:test3.v_tm_wk, slave:test3.v_tm_wk]
-include/diff_tables.inc [master:test3.v_ti_wk, slave:test3.v_ti_wk]
-include/diff_tables.inc [master:test2.v_tm_nk, slave:test2.v_tm_nk]
-include/diff_tables.inc [master:test2.v_ti_nk, slave:test2.v_ti_nk]
-include/diff_tables.inc [master:test2.v_tm_wk, slave:test2.v_tm_wk]
-include/diff_tables.inc [master:test2.v_ti_wk, slave:test2.v_ti_wk]
-include/diff_tables.inc [master:test1.v_tm_nk, slave:test1.v_tm_nk]
-include/diff_tables.inc [master:test1.v_ti_nk, slave:test1.v_ti_nk]
-include/diff_tables.inc [master:test1.v_tm_wk, slave:test1.v_tm_wk]
-include/diff_tables.inc [master:test1.v_ti_wk, slave:test1.v_ti_wk]
-include/diff_tables.inc [master:test0.v_tm_nk, slave:test0.v_tm_nk]
-include/diff_tables.inc [master:test0.v_ti_nk, slave:test0.v_ti_nk]
-include/diff_tables.inc [master:test0.v_tm_wk, slave:test0.v_tm_wk]
-include/diff_tables.inc [master:test0.v_ti_wk, slave:test0.v_ti_wk]
set @@global.mts_exp_slave_local_timestamp= @save.mts_exp_slave_local_timestamp;
-set @@global.mts_slave_parallel_workers= @save.mts_slave_parallel_workers;
include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl/r/rpl_sequential.result'
--- a/mysql-test/suite/rpl/r/rpl_sequential.result 2010-12-27 18:54:41 +0000
+++ b/mysql-test/suite/rpl/r/rpl_sequential.result 2011-04-03 10:07:30 +0000
@@ -16,21 +16,5 @@ select ts from test0.benchmark where sta
select ts from test0.benchmark where state like 'slave ends load' into @s_1;
select time_to_sec(@m_1) - time_to_sec(@m_0) as 'delta_m',
time_to_sec(@s_1) - time_to_sec(@s_0) as 'delta_s' into outfile 'delta.out';
-include/diff_tables.inc [master:test3.v_tm_nk, slave:test3.v_tm_nk]
-include/diff_tables.inc [master:test3.v_ti_nk, slave:test3.v_ti_nk]
-include/diff_tables.inc [master:test3.v_tm_wk, slave:test3.v_tm_wk]
-include/diff_tables.inc [master:test3.v_ti_wk, slave:test3.v_ti_wk]
-include/diff_tables.inc [master:test2.v_tm_nk, slave:test2.v_tm_nk]
-include/diff_tables.inc [master:test2.v_ti_nk, slave:test2.v_ti_nk]
-include/diff_tables.inc [master:test2.v_tm_wk, slave:test2.v_tm_wk]
-include/diff_tables.inc [master:test2.v_ti_wk, slave:test2.v_ti_wk]
-include/diff_tables.inc [master:test1.v_tm_nk, slave:test1.v_tm_nk]
-include/diff_tables.inc [master:test1.v_ti_nk, slave:test1.v_ti_nk]
-include/diff_tables.inc [master:test1.v_tm_wk, slave:test1.v_tm_wk]
-include/diff_tables.inc [master:test1.v_ti_wk, slave:test1.v_ti_wk]
-include/diff_tables.inc [master:test0.v_tm_nk, slave:test0.v_tm_nk]
-include/diff_tables.inc [master:test0.v_ti_nk, slave:test0.v_ti_nk]
-include/diff_tables.inc [master:test0.v_tm_wk, slave:test0.v_tm_wk]
-include/diff_tables.inc [master:test0.v_ti_wk, slave:test0.v_ti_wk]
set @@global.mts_exp_slave_local_timestamp= @save.mts_exp_slave_local_timestamp;
include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl/t/rpl_parallel-slave.opt'
--- a/mysql-test/suite/rpl/t/rpl_parallel-slave.opt 2010-12-22 19:19:17 +0000
+++ b/mysql-test/suite/rpl/t/rpl_parallel-slave.opt 2011-04-03 10:07:30 +0000
@@ -1,2 +1,2 @@
---mts-slave-parallel-workers=4 --log-warnings=0 --slave-transaction-retries=0
+--log-warnings=0 --slave-transaction-retries=0
=== modified file 'mysql-test/suite/rpl/t/rpl_parallel.test'
--- a/mysql-test/suite/rpl/t/rpl_parallel.test 2010-12-27 18:54:41 +0000
+++ b/mysql-test/suite/rpl/t/rpl_parallel.test 2011-04-03 10:07:30 +0000
@@ -35,15 +35,7 @@
--source include/master-slave.inc
-connection slave;
-set @save.mts_slave_parallel_workers= @@global.mts_slave_parallel_workers;
-select @@global.mts_slave_parallel_workers as 'non-zero means parallel';
-let $workers = `select @@global.mts_slave_parallel_workers`;
-
connection master;
source extra/rpl_tests/rpl_parallel_load.test;
-connection slave;
-set @@global.mts_slave_parallel_workers= @save.mts_slave_parallel_workers;
-
--source include/rpl_end.inc
Attachment: [text/bzr-bundle] bzr/andrei.elkin@oracle.com-20110403100730-ptvutwjgxdtgy38z.bundle
| Thread |
|---|
| • bzr push into mysql-next-mr-wl5569 branch (andrei.elkin:3272 to 3273) WL#5569 | Andrei Elkin | 3 Apr |