mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge XtraDB from Percona-server-5.5.17-rel22.1 into MariaDB 5.5
This commit is contained in:
@ -38,3 +38,6 @@ percona_show_slave_status_nolock: Feature not merged into MariaDB
|
||||
percona_slow_extended-slave_innodb_stats: Feature not merged into MariaDB
|
||||
percona_slow_extended-slave_statements-and-use_global_long_query_time: Feature not merged into MariaDB
|
||||
userstat_bug602047: Feature not merged into MariaDB
|
||||
percona_innodb_expand_fast_index_creation: Feature not merged into MariaDB
|
||||
percona_innodb_kill_idle_trx: Feature not merged into MariaDB
|
||||
percona_innodb_kill_idle_trx_locks: Feature not merged into MariaDB
|
||||
|
@ -12,4 +12,5 @@ connect(localhost,root,,test,port,socket);
|
||||
ERROR HY000: Too many connections
|
||||
SET GLOBAL max_connections = @old_max_connections;
|
||||
SET GLOBAL log_warnings = @old_log_warnings;
|
||||
1
|
||||
[log_grep.inc] file: percona.log_connection_error.err pattern: Too many connections
|
||||
[log_grep.inc] lines: 1
|
||||
|
@ -45,10 +45,10 @@ if(!`select LENGTH('$log_error_')`)
|
||||
# does not know the location of its .err log, use default location
|
||||
let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.1.err;
|
||||
}
|
||||
# Assign env variable LOG_ERROR
|
||||
let LOG_ERROR=$log_error_;
|
||||
|
||||
--let grep_file = $log_error
|
||||
--let grep_pattern = Too many connections
|
||||
--source grep.inc
|
||||
exec $cmd;
|
||||
--let log_error=$log_error_
|
||||
--let log_file=percona.log_connection_error.err
|
||||
--let log_file_full_path=$log_error
|
||||
--let grep_pattern= Too many connections
|
||||
--source log_grep.inc
|
||||
|
||||
|
@ -0,0 +1,64 @@
|
||||
CREATE TABLE t1(
|
||||
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
a CHAR(1) NOT NULL,
|
||||
b CHAR(36) NOT NULL) ENGINE=InnoDB;
|
||||
INSERT INTO t1(a,b) VALUES ('a','b');
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
ALTER TABLE t1 ADD KEY (a);
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
EXPLAIN SELECT COUNT(*) FROM t1, t1 t2 WHERE t1.a = t2.a AND t1.b = t2.b;
|
||||
id 1
|
||||
select_type SIMPLE
|
||||
table t1
|
||||
type ALL
|
||||
possible_keys a
|
||||
key NULL
|
||||
key_len NULL
|
||||
ref NULL
|
||||
rows 16
|
||||
Extra
|
||||
id 1
|
||||
select_type SIMPLE
|
||||
table t2
|
||||
type ref
|
||||
possible_keys a
|
||||
key a
|
||||
key_len 1
|
||||
ref test.t1.a
|
||||
rows 1
|
||||
Extra Using where
|
||||
ALTER TABLE t1 DROP KEY a;
|
||||
SET expand_fast_index_creation = 1;
|
||||
SELECT @@expand_fast_index_creation;
|
||||
@@expand_fast_index_creation
|
||||
1
|
||||
ALTER TABLE t1 ADD KEY (a);
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
EXPLAIN SELECT COUNT(*) FROM t1, t1 t2 WHERE t1.a = t2.a AND t1.b = t2.b;
|
||||
id 1
|
||||
select_type SIMPLE
|
||||
table t1
|
||||
type ALL
|
||||
possible_keys a
|
||||
key NULL
|
||||
key_len NULL
|
||||
ref NULL
|
||||
rows 16
|
||||
Extra
|
||||
id 1
|
||||
select_type SIMPLE
|
||||
table t2
|
||||
type ALL
|
||||
possible_keys a
|
||||
key NULL
|
||||
key_len NULL
|
||||
ref NULL
|
||||
rows 16
|
||||
Extra Using where; Using join buffer
|
||||
SET expand_fast_index_creation = 0;
|
||||
DROP TABLE t1;
|
@ -0,0 +1,45 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
########################################################################
|
||||
# Bug #857590: Fast index creation does not update index statistics
|
||||
########################################################################
|
||||
|
||||
CREATE TABLE t1(
|
||||
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
a CHAR(1) NOT NULL,
|
||||
b CHAR(36) NOT NULL) ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO t1(a,b) VALUES ('a','b');
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
|
||||
# Check that fast index creation is used
|
||||
--enable_info
|
||||
ALTER TABLE t1 ADD KEY (a);
|
||||
--disable_info
|
||||
|
||||
# The default (wrong) plan due to bogus statistics
|
||||
--vertical_results
|
||||
EXPLAIN SELECT COUNT(*) FROM t1, t1 t2 WHERE t1.a = t2.a AND t1.b = t2.b;
|
||||
--horizontal_results
|
||||
|
||||
ALTER TABLE t1 DROP KEY a;
|
||||
|
||||
SET expand_fast_index_creation = 1;
|
||||
SELECT @@expand_fast_index_creation;
|
||||
|
||||
# Check that stats are updated with the option enabled
|
||||
|
||||
--enable_info
|
||||
ALTER TABLE t1 ADD KEY (a);
|
||||
--disable_info
|
||||
|
||||
--vertical_results
|
||||
EXPLAIN SELECT COUNT(*) FROM t1, t1 t2 WHERE t1.a = t2.a AND t1.b = t2.b;
|
||||
--horizontal_results
|
||||
|
||||
SET expand_fast_index_creation = 0;
|
||||
|
||||
DROP TABLE t1;
|
55
mysql-test/suite/percona/percona_innodb_fake_changes.result
Normal file
55
mysql-test/suite/percona/percona_innodb_fake_changes.result
Normal file
@ -0,0 +1,55 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
# Checking variables
|
||||
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
||||
Variable_name Value
|
||||
innodb_fake_changes OFF
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
||||
VARIABLE_VALUE
|
||||
OFF
|
||||
SET innodb_fake_changes=1;
|
||||
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
||||
Variable_name Value
|
||||
innodb_fake_changes ON
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
||||
VARIABLE_VALUE
|
||||
ON
|
||||
SET innodb_fake_changes=default;
|
||||
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
||||
Variable_name Value
|
||||
innodb_fake_changes OFF
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
||||
VARIABLE_VALUE
|
||||
OFF
|
||||
# Explicit COMMIT should fail when innodb_fake_changes is enabled
|
||||
# DML should be fine
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
SET autocommit=0;
|
||||
SET innodb_fake_changes=1;
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (2);
|
||||
UPDATE t1 SET a=0;
|
||||
DELETE FROM t1 LIMIT 1;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
COMMIT;
|
||||
ERROR HY000: Got error 131 during COMMIT
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
||||
# DDL must result in error
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
SET autocommit=0;
|
||||
SET innodb_fake_changes=1;
|
||||
BEGIN;
|
||||
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
|
||||
ERROR HY000: Can't create table 'test.t2' (errno: 131)
|
||||
DROP TABLE t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
TRUNCATE TABLE t1;
|
||||
ERROR HY000: Got error 131 during COMMIT
|
||||
ALTER TABLE t1 ENGINE=MyISAM;
|
||||
ERROR HY000: Got error 131 during COMMIT
|
||||
ROLLBACK;
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
49
mysql-test/suite/percona/percona_innodb_fake_changes.test
Normal file
49
mysql-test/suite/percona/percona_innodb_fake_changes.test
Normal file
@ -0,0 +1,49 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
--echo # Checking variables
|
||||
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
||||
SET innodb_fake_changes=1;
|
||||
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
||||
SET innodb_fake_changes=default;
|
||||
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
||||
|
||||
--echo # Explicit COMMIT should fail when innodb_fake_changes is enabled
|
||||
--echo # DML should be fine
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
SET autocommit=0;
|
||||
SET innodb_fake_changes=1;
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (2);
|
||||
UPDATE t1 SET a=0;
|
||||
DELETE FROM t1 LIMIT 1;
|
||||
SELECT * FROM t1;
|
||||
--error 1180
|
||||
COMMIT;
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # DDL must result in error
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
SET autocommit=0;
|
||||
SET innodb_fake_changes=1;
|
||||
BEGIN;
|
||||
--error 1005
|
||||
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
|
||||
--error 1051
|
||||
DROP TABLE t1;
|
||||
--error 1180
|
||||
TRUNCATE TABLE t1;
|
||||
--error 1180
|
||||
ALTER TABLE t1 ENGINE=MyISAM;
|
||||
ROLLBACK;
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
@ -0,0 +1,19 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
# Verifying that X_LOCK not acquired
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
SET autocommit=0;
|
||||
SET innodb_fake_changes=1;
|
||||
BEGIN;
|
||||
SELECT * FROM t1 FOR UPDATE;
|
||||
a
|
||||
1
|
||||
SET innodb_lock_wait_timeout=3;
|
||||
UPDATE t1 SET a=2;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
SELECT * FROM t1 LOCK IN SHARE MODE;
|
||||
a
|
||||
1
|
||||
ROLLBACK;
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
@ -0,0 +1,24 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
--echo # Verifying that X_LOCK not acquired
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
--connect (conn1,localhost,root,,)
|
||||
--connection conn1
|
||||
SET autocommit=0;
|
||||
SET innodb_fake_changes=1;
|
||||
BEGIN;
|
||||
SELECT * FROM t1 FOR UPDATE;
|
||||
--connection default
|
||||
SET innodb_lock_wait_timeout=3;
|
||||
--error 1205
|
||||
UPDATE t1 SET a=2;
|
||||
SELECT * FROM t1 LOCK IN SHARE MODE;
|
||||
--connection conn1
|
||||
ROLLBACK;
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
41
mysql-test/suite/percona/percona_innodb_kill_idle_trx.result
Normal file
41
mysql-test/suite/percona/percona_innodb_kill_idle_trx.result
Normal file
@ -0,0 +1,41 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SET autocommit=0;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
|
||||
Variable_name Value
|
||||
innodb_kill_idle_transaction 0
|
||||
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_KILL_IDLE_TRANSACTION 0
|
||||
SET GLOBAL innodb_kill_idle_transaction=1;
|
||||
SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
|
||||
Variable_name Value
|
||||
innodb_kill_idle_transaction 1
|
||||
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_KILL_IDLE_TRANSACTION 1
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
COMMIT;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (4),(5),(6);
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: MySQL server has gone away
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_kill_idle_transaction=0;
|
||||
SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
|
||||
Variable_name Value
|
||||
innodb_kill_idle_transaction 0
|
||||
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_KILL_IDLE_TRANSACTION 0
|
28
mysql-test/suite/percona/percona_innodb_kill_idle_trx.test
Normal file
28
mysql-test/suite/percona/percona_innodb_kill_idle_trx.test
Normal file
@ -0,0 +1,28 @@
|
||||
--source include/have_innodb.inc
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
SET autocommit=0;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
|
||||
--source percona_innodb_kill_idle_trx_show.inc
|
||||
SET GLOBAL innodb_kill_idle_transaction=1;
|
||||
--source percona_innodb_kill_idle_trx_show.inc
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
COMMIT;
|
||||
SELECT * FROM t1;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (4),(5),(6);
|
||||
sleep 3;
|
||||
|
||||
--enable_reconnect
|
||||
--error 2006 --error CR_SERVER_GONE_ERROR
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_kill_idle_transaction=0;
|
||||
--source percona_innodb_kill_idle_trx_show.inc
|
@ -0,0 +1,45 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SET autocommit=0;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
|
||||
Variable_name Value
|
||||
innodb_kill_idle_transaction 0
|
||||
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_KILL_IDLE_TRANSACTION 0
|
||||
SET GLOBAL innodb_kill_idle_transaction=5;
|
||||
SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
|
||||
Variable_name Value
|
||||
innodb_kill_idle_transaction 5
|
||||
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_KILL_IDLE_TRANSACTION 5
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
COMMIT;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
### Locking rows. Lock should be released when idle trx is killed.
|
||||
BEGIN;
|
||||
SELECT * FROM t1 FOR UPDATE;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
UPDATE t1 set a=4;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
4
|
||||
4
|
||||
4
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_kill_idle_transaction=0;
|
||||
SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
|
||||
Variable_name Value
|
||||
innodb_kill_idle_transaction 0
|
||||
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_KILL_IDLE_TRANSACTION 0
|
@ -0,0 +1,31 @@
|
||||
--source include/have_innodb.inc
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
SET autocommit=0;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
|
||||
--source percona_innodb_kill_idle_trx_show.inc
|
||||
SET GLOBAL innodb_kill_idle_transaction=5;
|
||||
--source percona_innodb_kill_idle_trx_show.inc
|
||||
|
||||
connect (conn1,localhost,root,,);
|
||||
connection conn1;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
COMMIT;
|
||||
SELECT * FROM t1;
|
||||
|
||||
--echo ### Locking rows. Lock should be released when idle trx is killed.
|
||||
BEGIN;
|
||||
SELECT * FROM t1 FOR UPDATE;
|
||||
|
||||
connection default;
|
||||
UPDATE t1 set a=4;
|
||||
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_kill_idle_transaction=0;
|
||||
--source percona_innodb_kill_idle_trx_show.inc
|
@ -6,69 +6,65 @@ INSERT INTO t2 VALUES(10);
|
||||
INSERT INTO t2 VALUES(20);
|
||||
INSERT INTO t2 VALUES(10);
|
||||
INSERT INTO t2 VALUES(20);
|
||||
Issuing operation that should not return any rows and stopping the thread #1
|
||||
SET DEBUG_SYNC= 'locked_table_name SIGNAL thread1_ready WAIT_FOR threads_dumped';
|
||||
CREATE TABLE t1 (a INT);
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread1_ready';
|
||||
Thread #1 stopped
|
||||
Issuing row-returning query and stopping the thread #2 at the end of query
|
||||
SET DEBUG_SYNC= 'execute_command_after_close_tables SIGNAL thread2_ready WAIT_FOR threads_dumped';
|
||||
SELECT a FROM t2 WHERE a > 15;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread2_ready';
|
||||
Thread #2 stopped
|
||||
Look at thread states
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info Rows_sent Rows_examined Rows_read
|
||||
### root ### test Query ### ### SHOW PROCESSLIST 0 0 2
|
||||
### root ### test Query ### ### CREATE TABLE t1 (a INT) 0 0 1
|
||||
### root ### test Query ### ### SELECT a FROM t2 WHERE a > 15 2 5 6
|
||||
SELECT id, info, rows_sent, rows_examined, rows_read FROM information_schema.processlist
|
||||
ORDER BY id;
|
||||
SELECT id, info, rows_sent, rows_examined, rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id;
|
||||
id info rows_sent rows_examined rows_read
|
||||
### SELECT id, info, rows_sent, rows_examined, rows_read FROM information_schema.processlist
|
||||
ORDER BY id 0 0 1
|
||||
### SELECT id, info, rows_sent, rows_examined, rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id 0 0 1
|
||||
### CREATE TABLE t1 (a INT) 0 0 1
|
||||
### SELECT a FROM t2 WHERE a > 15 2 5 6
|
||||
Let threads #1 and #2 finish their job
|
||||
SET DEBUG_SYNC= 'now SIGNAL threads_dumped';
|
||||
a
|
||||
20
|
||||
20
|
||||
Issuing row-returning query and stopping the thread #2 in the middle of query
|
||||
SET DEBUG_SYNC= 'sent_row SIGNAL thread1_ready WAIT_FOR threads_dumped';
|
||||
SELECT a FROM t2 WHERE a < 15;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread1_ready';
|
||||
SET DEBUG_SYNC= 'sent_row SIGNAL thread2_ready WAIT_FOR threads_dumped';
|
||||
SELECT a FROM t2 WHERE a > 15;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread2_ready';
|
||||
Thread #2 stopped, look at its state
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info Rows_sent Rows_examined Rows_read
|
||||
### root ### test Query ### ### SHOW PROCESSLIST 0 0 4
|
||||
### root ### test Sleep ### ### NULL 0 0 1
|
||||
### root ### test Query ### ### SELECT a FROM t2 WHERE a < 15 1 0 1
|
||||
### root ### test Query ### ### SELECT a FROM t2 WHERE a > 15 1 0 3
|
||||
SELECT id,rows_sent,rows_examined,rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY Id;
|
||||
id rows_sent rows_examined rows_read
|
||||
### 0 0 1
|
||||
### 0 0 1
|
||||
### 1 0 3
|
||||
SELECT id, info, rows_sent, rows_examined, rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id;
|
||||
id info rows_sent rows_examined rows_read
|
||||
### SELECT id, info, rows_sent, rows_examined, rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id 0 0 1
|
||||
### SELECT a FROM t2 WHERE a < 15 1 0 1
|
||||
### SELECT a FROM t2 WHERE a > 15 1 0 3
|
||||
SET DEBUG_SYNC= 'now SIGNAL threads_dumped';
|
||||
Let thread #2 finish its job
|
||||
a
|
||||
10
|
||||
10
|
||||
10
|
||||
a
|
||||
20
|
||||
20
|
||||
Issuing an UPDATE and stopping thread #2
|
||||
SET DEBUG_SYNC= 'execute_command_after_close_tables SIGNAL thread1_ready WAIT_FOR threads_dumped';
|
||||
UPDATE t2 SET a = 15 WHERE a = 20;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread1_ready';
|
||||
SET DEBUG_SYNC= 'execute_command_after_close_tables SIGNAL thread2_ready WAIT_FOR threads_dumped';
|
||||
UPDATE t2 SET a = 15 WHERE a = 10;
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread2_ready';
|
||||
Thread #2 stopped, look at its state
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info Rows_sent Rows_examined Rows_read
|
||||
### root ### test Query ### ### SHOW PROCESSLIST 0 0 4
|
||||
### root ### test Sleep ### ### NULL 0 0 1
|
||||
### root ### test Query ### ### UPDATE t2 SET a = 15 WHERE a = 20 0 5 6
|
||||
### root ### test Query ### ### UPDATE t2 SET a = 15 WHERE a = 10 0 5 6
|
||||
SELECT id,rows_sent,rows_examined,rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY Id;
|
||||
id rows_sent rows_examined rows_read
|
||||
### 0 0 1
|
||||
### 0 0 1
|
||||
### 0 5 6
|
||||
SELECT id, info, rows_sent, rows_examined, rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id;
|
||||
id info rows_sent rows_examined rows_read
|
||||
### SELECT id, info, rows_sent, rows_examined, rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id 0 0 1
|
||||
### UPDATE t2 SET a = 15 WHERE a = 20 0 5 6
|
||||
### UPDATE t2 SET a = 15 WHERE a = 10 0 5 6
|
||||
SET DEBUG_SYNC= 'now SIGNAL threads_dumped';
|
||||
Let thread #2 finish its job
|
||||
DROP TABLES t1, t2;
|
||||
|
@ -13,76 +13,63 @@ INSERT INTO t2 VALUES(20);
|
||||
INSERT INTO t2 VALUES(10);
|
||||
INSERT INTO t2 VALUES(20);
|
||||
|
||||
connect (conn1, localhost, root, ,);
|
||||
connect (conn2, localhost, root, ,);
|
||||
--connect (conn1, localhost, root, ,)
|
||||
--connect (conn2, localhost, root, ,)
|
||||
|
||||
--connection conn1
|
||||
echo Issuing operation that should not return any rows and stopping the thread #1;
|
||||
SET DEBUG_SYNC= 'locked_table_name SIGNAL thread1_ready WAIT_FOR threads_dumped';
|
||||
send CREATE TABLE t1 (a INT);
|
||||
|
||||
--connection default
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread1_ready';
|
||||
--echo Thread #1 stopped
|
||||
|
||||
--connection conn2
|
||||
echo Issuing row-returning query and stopping the thread #2 at the end of query;
|
||||
SET DEBUG_SYNC= 'execute_command_after_close_tables SIGNAL thread2_ready WAIT_FOR threads_dumped';
|
||||
send SELECT a FROM t2 WHERE a > 15;
|
||||
|
||||
--connection default
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread2_ready';
|
||||
--echo Thread #2 stopped
|
||||
--echo Look at thread states
|
||||
|
||||
--replace_column 1 ### 3 ### 6 ### 7 ###
|
||||
SHOW PROCESSLIST;
|
||||
# The running threads are different between SHOW above and SELECT below. Thus select info too to
|
||||
# show the difference. Results are in the same order as in SHOW.
|
||||
--replace_column 1 ###
|
||||
SELECT id, info, rows_sent, rows_examined, rows_read FROM information_schema.processlist
|
||||
ORDER BY id;
|
||||
|
||||
echo Let threads #1 and #2 finish their job;
|
||||
SET DEBUG_SYNC= 'now SIGNAL threads_dumped';
|
||||
--source include/percona_processlist_row_stats_show.inc
|
||||
|
||||
--connection conn1
|
||||
reap;
|
||||
|
||||
--connection conn2
|
||||
reap;
|
||||
echo Issuing row-returning query and stopping the thread #2 in the middle of query;
|
||||
|
||||
--connection conn1
|
||||
SET DEBUG_SYNC= 'sent_row SIGNAL thread1_ready WAIT_FOR threads_dumped';
|
||||
send SELECT a FROM t2 WHERE a < 15;
|
||||
--connection default
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread1_ready';
|
||||
|
||||
--connection conn2
|
||||
SET DEBUG_SYNC= 'sent_row SIGNAL thread2_ready WAIT_FOR threads_dumped';
|
||||
send SELECT a FROM t2 WHERE a > 15;
|
||||
|
||||
--connection default
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread2_ready';
|
||||
echo Thread #2 stopped, look at its state;
|
||||
|
||||
--replace_column 1 ### 3 ### 6 ### 7 ###
|
||||
SHOW PROCESSLIST;
|
||||
--replace_column 1 ###
|
||||
SELECT id,rows_sent,rows_examined,rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY Id;
|
||||
SET DEBUG_SYNC= 'now SIGNAL threads_dumped';
|
||||
echo Let thread #2 finish its job;
|
||||
--source include/percona_processlist_row_stats_show.inc
|
||||
|
||||
--connection conn1
|
||||
reap;
|
||||
--connection conn2
|
||||
reap;
|
||||
echo Issuing an UPDATE and stopping thread #2;
|
||||
|
||||
--connection conn1
|
||||
SET DEBUG_SYNC= 'execute_command_after_close_tables SIGNAL thread1_ready WAIT_FOR threads_dumped';
|
||||
send UPDATE t2 SET a = 15 WHERE a = 20;
|
||||
--connection default
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread1_ready';
|
||||
|
||||
--connection conn2
|
||||
SET DEBUG_SYNC= 'execute_command_after_close_tables SIGNAL thread2_ready WAIT_FOR threads_dumped';
|
||||
send UPDATE t2 SET a = 15 WHERE a = 10;
|
||||
|
||||
--connection default
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR thread2_ready';
|
||||
echo Thread #2 stopped, look at its state;
|
||||
|
||||
--replace_column 1 ### 3 ### 6 ### 7 ###
|
||||
SHOW PROCESSLIST;
|
||||
--replace_column 1 ###
|
||||
SELECT id,rows_sent,rows_examined,rows_read FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY Id;
|
||||
SET DEBUG_SYNC= 'now SIGNAL threads_dumped';
|
||||
echo Let thread #2 finish its job;
|
||||
--source include/percona_processlist_row_stats_show.inc
|
||||
|
||||
--connection conn1
|
||||
reap;
|
||||
--connection conn2
|
||||
reap;
|
||||
|
||||
|
@ -1,66 +1,727 @@
|
||||
SET GLOBAL query_exec_time=0.1;
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
DROP TABLE IF EXISTS t;
|
||||
CREATE TABLE t(id INT);
|
||||
SELECT * from t;
|
||||
id
|
||||
SELECT * from t;
|
||||
id
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1;
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
include/restart_slave.inc
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_response_time_range_base value: '1'
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SET SESSION query_exec_time = 0.31;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 2
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 10;
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 1 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 1 0.100000
|
||||
0.250000 0 0.000000
|
||||
0.500000 30 10.650000
|
||||
1.000000 3 1.500000
|
||||
2.000000 15 19.500000
|
||||
4.000000 12 30.000000
|
||||
8.000000 6 27.599997
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 1 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 1 0.100000
|
||||
0.250000 0 0.000000
|
||||
0.500000 30 10.650000
|
||||
1.000000 3 1.500000
|
||||
2.000000 15 19.500000
|
||||
4.000000 12 30.000000
|
||||
8.000000 6 27.599997
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t(id INT);
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
include/restart_slave.inc
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=2;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SET SESSION query_exec_time = 0.31;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 2
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 1 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 1 0.100000
|
||||
0.250000 0 0.000000
|
||||
0.500000 30 10.650000
|
||||
1.000000 3 1.500000
|
||||
2.000000 15 19.500000
|
||||
4.000000 12 30.000000
|
||||
8.000000 6 27.599997
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 1 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 1 0.100000
|
||||
0.250000 0 0.000000
|
||||
0.500000 30 10.650000
|
||||
1.000000 3 1.500000
|
||||
2.000000 15 19.500000
|
||||
4.000000 12 30.000000
|
||||
8.000000 6 27.599997
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t(id INT);
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
include/restart_slave.inc
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=10;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SET SESSION query_exec_time = 0.31;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 10
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 1 0.000000
|
||||
0.000010 0 0.000000
|
||||
0.000100 0 0.000000
|
||||
0.001000 0 0.000000
|
||||
0.010000 0 0.000000
|
||||
0.100000 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
10.000000 33 77.099997
|
||||
100.000000 0 0.000000
|
||||
1000.000000 0 0.000000
|
||||
10000.000000 0 0.000000
|
||||
100000.000000 0 0.000000
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 1 0.000000
|
||||
0.000010 0 0.000000
|
||||
0.000100 0 0.000000
|
||||
0.001000 0 0.000000
|
||||
0.010000 0 0.000000
|
||||
0.100000 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
10.000000 33 77.099997
|
||||
100.000000 0 0.000000
|
||||
1000.000000 0 0.000000
|
||||
10000.000000 0 0.000000
|
||||
100000.000000 0 0.000000
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t(id INT);
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
include/restart_slave.inc
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=7;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=ON;
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
0
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
0
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
2
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
3
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 2;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SET SESSION query_exec_time = 0.31;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 2
|
||||
query_response_time_range_base 7
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 1 0.000000
|
||||
0.000008 0 0.000000
|
||||
0.000059 0 0.000000
|
||||
0.000416 0 0.000000
|
||||
0.002915 0 0.000000
|
||||
0.020408 0 0.000000
|
||||
0.142857 1 0.100000
|
||||
1.000000 33 12.150000
|
||||
7.000000 33 77.099997
|
||||
49.000000 0 0.000000
|
||||
343.000000 0 0.000000
|
||||
2401.000000 0 0.000000
|
||||
16807.000000 0 0.000000
|
||||
117649.000000 0 0.000000
|
||||
823543.000000 0 0.000000
|
||||
5764801.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 1 0.000000
|
||||
0.000008 0 0.000000
|
||||
0.000059 0 0.000000
|
||||
0.000416 0 0.000000
|
||||
0.002915 0 0.000000
|
||||
0.020408 0 0.000000
|
||||
0.142857 1 0.100000
|
||||
1.000000 33 12.150000
|
||||
7.000000 33 77.099997
|
||||
49.000000 0 0.000000
|
||||
343.000000 0 0.000000
|
||||
2401.000000 0 0.000000
|
||||
16807.000000 0 0.000000
|
||||
117649.000000 0 0.000000
|
||||
823543.000000 0 0.000000
|
||||
5764801.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t(id INT);
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
include/restart_slave.inc
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=156;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SET SESSION query_exec_time = 0.31;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 156
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000041 1 0.000000
|
||||
0.006410 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
156.000000 33 77.099997
|
||||
24336.000000 0 0.000000
|
||||
3796416.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000041 1 0.000000
|
||||
0.006410 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
156.000000 33 77.099997
|
||||
24336.000000 0 0.000000
|
||||
3796416.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t(id INT);
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
include/restart_slave.inc
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1000;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SET SESSION query_exec_time = 0.31;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 1000
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 1 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
1000.000000 33 77.099997
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 1 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
1000.000000 33 77.099997
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t(id INT);
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
include/restart_slave.inc
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1001;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
0
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
0
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
2
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count)
|
||||
3
|
||||
DROP TABLE IF EXISTS t;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 10;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=OFF;
|
||||
STOP SLAVE;
|
||||
include/wait_for_slave_to_stop.inc
|
||||
Warning 1292 Truncated incorrect query_response_time_range_base value: '1001'
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SET SESSION query_exec_time = 0.31;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 1000
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 1 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
1000.000000 33 77.099997
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 1 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 34 12.250000
|
||||
1000.000000 33 77.099997
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP TABLE t;
|
||||
include/rpl_end.inc
|
||||
SET GLOBAL query_exec_time=default;
|
||||
SET GLOBAL query_exec_time=default;
|
||||
|
@ -1,61 +1,28 @@
|
||||
SET GLOBAL query_exec_time=0.1;
|
||||
|
||||
--source include/have_response_time_distribution.inc
|
||||
--source include/master-slave.inc
|
||||
--source include/have_binlog_format_statement.inc
|
||||
--source include/have_debug.inc
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement:");
|
||||
--enable_query_log
|
||||
--source include/have_binlog_format_statement.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
connection master;
|
||||
-- disable_warnings
|
||||
DROP TABLE IF EXISTS t;
|
||||
-- enable_warnings
|
||||
CREATE TABLE t(id INT);
|
||||
SELECT * from t;
|
||||
--let base=1
|
||||
--source include/query_response_time-replication.inc
|
||||
--let base=2
|
||||
--source include/query_response_time-replication.inc
|
||||
--let base=10
|
||||
--source include/query_response_time-replication.inc
|
||||
--let base=7
|
||||
--source include/query_response_time-replication.inc
|
||||
--let base=156
|
||||
--source include/query_response_time-replication.inc
|
||||
--let base=1000
|
||||
--source include/query_response_time-replication.inc
|
||||
--let base=1001
|
||||
--source include/query_response_time-replication.inc
|
||||
|
||||
sync_slave_with_master;
|
||||
--source include/rpl_end.inc
|
||||
|
||||
SET GLOBAL query_exec_time=default;
|
||||
|
||||
connection slave;
|
||||
SELECT * from t;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 10;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=ON;
|
||||
|
||||
connection master;
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 2;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
|
||||
connection master;
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
INSERT INTO t SELECT SLEEP(0.4);
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SELECT SUM(INFORMATION_SCHEMA.QUERY_RESPONSE_TIME.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
|
||||
connection master;
|
||||
DROP TABLE IF EXISTS t;
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 10;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=OFF;
|
||||
|
||||
STOP SLAVE;
|
||||
-- source include/wait_for_slave_to_stop.inc
|
||||
SET GLOBAL query_exec_time=default;
|
||||
|
@ -1,306 +1,544 @@
|
||||
SET GLOBAL debug="d,query_exec_time_debug";
|
||||
CREATE FUNCTION test_f()
|
||||
RETURNS CHAR(30) DETERMINISTIC
|
||||
CREATE TABLE t(a INT);
|
||||
CREATE PROCEDURE test_f(t DECIMAL(3,2))
|
||||
BEGIN
|
||||
SET SESSION debug="+d,query_exec_time_1.1";
|
||||
RETURN 'Hello, world!';
|
||||
END/
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1;
|
||||
SET SESSION query_exec_time=t;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time=0.1;
|
||||
DELETE FROM t;
|
||||
END^
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_response_time_range_base value: '1'
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 2
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 2;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 2
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SELECT d.count,
|
||||
(SELECT SUM(a.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as a WHERE a.count != 0) as query_count,
|
||||
(SELECT SUM((b.total * 1000000) DIV 1000000) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as b WHERE b.count != 0) as query_total,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as c WHERE c.count != 0) as not_zero_region_count,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME) as region_count
|
||||
FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as d WHERE d.count > 0;
|
||||
count query_count query_total not_zero_region_count region_count
|
||||
SELECT COUNT(*) as region_count FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
region_count
|
||||
44
|
||||
SELECT time FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time
|
||||
0.000001
|
||||
0.000003
|
||||
0.000007
|
||||
0.000015
|
||||
0.000030
|
||||
0.000061
|
||||
0.000122
|
||||
0.000244
|
||||
0.000488
|
||||
0.000976
|
||||
0.001953
|
||||
0.003906
|
||||
0.007812
|
||||
0.015625
|
||||
0.031250
|
||||
0.062500
|
||||
0.125000
|
||||
0.250000
|
||||
0.500000
|
||||
1.000000
|
||||
2.000000
|
||||
4.000000
|
||||
8.000000
|
||||
16.000000
|
||||
32.000000
|
||||
64.000000
|
||||
128.000000
|
||||
256.000000
|
||||
512.000000
|
||||
1024.000000
|
||||
2048.000000
|
||||
4096.000000
|
||||
8192.000000
|
||||
16384.000000
|
||||
32768.000000
|
||||
65536.000000
|
||||
131072.000000
|
||||
262144.000000
|
||||
524288.000000
|
||||
1048576.00000
|
||||
2097152.00000
|
||||
4194304.00000
|
||||
8388608.00000
|
||||
TOO LONG
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SELECT d.count,
|
||||
(SELECT SUM(a.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as a WHERE a.count != 0) as query_count,
|
||||
(SELECT SUM((b.total * 1000000) DIV 1000000) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as b WHERE b.count != 0) as query_total,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as c WHERE c.count != 0) as not_zero_region_count,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME) as region_count
|
||||
FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as d WHERE d.count > 0;
|
||||
count query_count query_total not_zero_region_count region_count
|
||||
4 4 4 1 44
|
||||
SELECT COUNT(*) as region_count FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
region_count
|
||||
44
|
||||
SELECT time FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time
|
||||
0.000001
|
||||
0.000003
|
||||
0.000007
|
||||
0.000015
|
||||
0.000030
|
||||
0.000061
|
||||
0.000122
|
||||
0.000244
|
||||
0.000488
|
||||
0.000976
|
||||
0.001953
|
||||
0.003906
|
||||
0.007812
|
||||
0.015625
|
||||
0.031250
|
||||
0.062500
|
||||
0.125000
|
||||
0.250000
|
||||
0.500000
|
||||
1.000000
|
||||
2.000000
|
||||
4.000000
|
||||
8.000000
|
||||
16.000000
|
||||
32.000000
|
||||
64.000000
|
||||
128.000000
|
||||
256.000000
|
||||
512.000000
|
||||
1024.000000
|
||||
2048.000000
|
||||
4096.000000
|
||||
8192.000000
|
||||
16384.000000
|
||||
32768.000000
|
||||
65536.000000
|
||||
131072.000000
|
||||
262144.000000
|
||||
524288.000000
|
||||
1048576.00000
|
||||
2097152.00000
|
||||
4194304.00000
|
||||
8388608.00000
|
||||
TOO LONG
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 2
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 10;
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 45 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 44 4.400000
|
||||
0.250000 0 0.000000
|
||||
0.500000 10 3.550000
|
||||
1.000000 1 0.500000
|
||||
2.000000 5 6.500000
|
||||
4.000000 4 10.000000
|
||||
8.000000 2 9.199999
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 45 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 44 4.400000
|
||||
0.250000 0 0.000000
|
||||
0.500000 10 3.550000
|
||||
1.000000 1 0.500000
|
||||
2.000000 5 6.500000
|
||||
4.000000 4 10.000000
|
||||
8.000000 2 9.199999
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET SESSION query_exec_time=default;
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=2;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 2
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 45 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 44 4.400000
|
||||
0.250000 0 0.000000
|
||||
0.500000 10 3.550000
|
||||
1.000000 1 0.500000
|
||||
2.000000 5 6.500000
|
||||
4.000000 4 10.000000
|
||||
8.000000 2 9.199999
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 45 0.000000
|
||||
0.000003 0 0.000000
|
||||
0.000007 0 0.000000
|
||||
0.000015 0 0.000000
|
||||
0.000030 0 0.000000
|
||||
0.000061 0 0.000000
|
||||
0.000122 0 0.000000
|
||||
0.000244 0 0.000000
|
||||
0.000488 0 0.000000
|
||||
0.000976 0 0.000000
|
||||
0.001953 0 0.000000
|
||||
0.003906 0 0.000000
|
||||
0.007812 0 0.000000
|
||||
0.015625 0 0.000000
|
||||
0.031250 0 0.000000
|
||||
0.062500 0 0.000000
|
||||
0.125000 44 4.400000
|
||||
0.250000 0 0.000000
|
||||
0.500000 10 3.550000
|
||||
1.000000 1 0.500000
|
||||
2.000000 5 6.500000
|
||||
4.000000 4 10.000000
|
||||
8.000000 2 9.199999
|
||||
16.000000 0 0.000000
|
||||
32.000000 0 0.000000
|
||||
64.000000 0 0.000000
|
||||
128.000000 0 0.000000
|
||||
256.000000 0 0.000000
|
||||
512.000000 0 0.000000
|
||||
1024.000000 0 0.000000
|
||||
2048.000000 0 0.000000
|
||||
4096.000000 0 0.000000
|
||||
8192.000000 0 0.000000
|
||||
16384.000000 0 0.000000
|
||||
32768.000000 0 0.000000
|
||||
65536.000000 0 0.000000
|
||||
131072.000000 0 0.000000
|
||||
262144.000000 0 0.000000
|
||||
524288.000000 0 0.000000
|
||||
1048576.00000 0 0.000000
|
||||
2097152.00000 0 0.000000
|
||||
4194304.00000 0 0.000000
|
||||
8388608.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET SESSION query_exec_time=default;
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=10;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 10
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 45 0.000000
|
||||
0.000010 0 0.000000
|
||||
0.000100 0 0.000000
|
||||
0.001000 0 0.000000
|
||||
0.010000 0 0.000000
|
||||
0.100000 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
10.000000 11 25.699999
|
||||
100.000000 0 0.000000
|
||||
1000.000000 0 0.000000
|
||||
10000.000000 0 0.000000
|
||||
100000.000000 0 0.000000
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 45 0.000000
|
||||
0.000010 0 0.000000
|
||||
0.000100 0 0.000000
|
||||
0.001000 0 0.000000
|
||||
0.010000 0 0.000000
|
||||
0.100000 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
10.000000 11 25.699999
|
||||
100.000000 0 0.000000
|
||||
1000.000000 0 0.000000
|
||||
10000.000000 0 0.000000
|
||||
100000.000000 0 0.000000
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET SESSION query_exec_time=default;
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=7;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SELECT d.count,
|
||||
(SELECT SUM(a.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as a WHERE a.count != 0) as query_count,
|
||||
(SELECT SUM((b.total * 1000000) DIV 1000000) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as b WHERE b.count != 0) as query_total,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as c WHERE c.count != 0) as not_zero_region_count,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME) as region_count
|
||||
FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as d WHERE d.count > 0;
|
||||
count query_count query_total not_zero_region_count region_count
|
||||
1 1 1 1 14
|
||||
SELECT COUNT(*) as region_count FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
region_count
|
||||
14
|
||||
SELECT time FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time
|
||||
0.000001
|
||||
0.000010
|
||||
0.000100
|
||||
0.001000
|
||||
0.010000
|
||||
0.100000
|
||||
1.000000
|
||||
10.000000
|
||||
100.000000
|
||||
1000.000000
|
||||
10000.000000
|
||||
100000.000000
|
||||
1000000.00000
|
||||
TOO LONG
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 10
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 7;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 7
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 45 0.000000
|
||||
0.000008 0 0.000000
|
||||
0.000059 0 0.000000
|
||||
0.000416 0 0.000000
|
||||
0.002915 0 0.000000
|
||||
0.020408 0 0.000000
|
||||
0.142857 44 4.400000
|
||||
1.000000 11 4.050000
|
||||
7.000000 11 25.699999
|
||||
49.000000 0 0.000000
|
||||
343.000000 0 0.000000
|
||||
2401.000000 0 0.000000
|
||||
16807.000000 0 0.000000
|
||||
117649.000000 0 0.000000
|
||||
823543.000000 0 0.000000
|
||||
5764801.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 45 0.000000
|
||||
0.000008 0 0.000000
|
||||
0.000059 0 0.000000
|
||||
0.000416 0 0.000000
|
||||
0.002915 0 0.000000
|
||||
0.020408 0 0.000000
|
||||
0.142857 44 4.400000
|
||||
1.000000 11 4.050000
|
||||
7.000000 11 25.699999
|
||||
49.000000 0 0.000000
|
||||
343.000000 0 0.000000
|
||||
2401.000000 0 0.000000
|
||||
16807.000000 0 0.000000
|
||||
117649.000000 0 0.000000
|
||||
823543.000000 0 0.000000
|
||||
5764801.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET SESSION query_exec_time=default;
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=156;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SELECT d.count,
|
||||
(SELECT SUM(a.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as a WHERE a.count != 0) as query_count,
|
||||
(SELECT SUM((b.total * 1000000) DIV 1000000) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as b WHERE b.count != 0) as query_total,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as c WHERE c.count != 0) as not_zero_region_count,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME) as region_count
|
||||
FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as d WHERE d.count > 0;
|
||||
count query_count query_total not_zero_region_count region_count
|
||||
1 1 1 1 17
|
||||
SELECT COUNT(*) as region_count FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
region_count
|
||||
17
|
||||
SELECT time FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time
|
||||
0.000001
|
||||
0.000008
|
||||
0.000059
|
||||
0.000416
|
||||
0.002915
|
||||
0.020408
|
||||
0.142857
|
||||
1.000000
|
||||
7.000000
|
||||
49.000000
|
||||
343.000000
|
||||
2401.000000
|
||||
16807.000000
|
||||
117649.000000
|
||||
823543.000000
|
||||
5764801.00000
|
||||
TOO LONG
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 7
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 156;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 156
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000041 45 0.000000
|
||||
0.006410 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
156.000000 11 25.699999
|
||||
24336.000000 0 0.000000
|
||||
3796416.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000041 45 0.000000
|
||||
0.006410 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
156.000000 11 25.699999
|
||||
24336.000000 0 0.000000
|
||||
3796416.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET SESSION query_exec_time=default;
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1000;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SELECT d.count,
|
||||
(SELECT SUM(a.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as a WHERE a.count != 0) as query_count,
|
||||
(SELECT SUM((b.total * 1000000) DIV 1000000) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as b WHERE b.count != 0) as query_total,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as c WHERE c.count != 0) as not_zero_region_count,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME) as region_count
|
||||
FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as d WHERE d.count > 0;
|
||||
count query_count query_total not_zero_region_count region_count
|
||||
1 1 1 1 7
|
||||
SELECT COUNT(*) as region_count FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
region_count
|
||||
7
|
||||
SELECT time FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time
|
||||
0.000041
|
||||
0.006410
|
||||
1.000000
|
||||
156.000000
|
||||
24336.000000
|
||||
3796416.00000
|
||||
TOO LONG
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 156
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1000;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 1000
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
test_f()
|
||||
Hello, world!
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 45 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
1000.000000 11 25.699999
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 45 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
1000.000000 11 25.699999
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET SESSION query_exec_time=default;
|
||||
SET SESSION query_exec_time=0.1;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SELECT d.count,
|
||||
(SELECT SUM(a.count) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as a WHERE a.count != 0) as query_count,
|
||||
(SELECT SUM((b.total * 1000000) DIV 1000000) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as b WHERE b.count != 0) as query_total,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as c WHERE c.count != 0) as not_zero_region_count,
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME) as region_count
|
||||
FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME as d WHERE d.count > 0;
|
||||
count query_count query_total not_zero_region_count region_count
|
||||
1 1 1 1 6
|
||||
SELECT COUNT(*) as region_count FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
region_count
|
||||
6
|
||||
SELECT time FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time
|
||||
0.000001
|
||||
0.001000
|
||||
1.000000
|
||||
1000.000000
|
||||
1000000.00000
|
||||
TOO LONG
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 1000
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1001;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1001;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_response_time_range_base value: '1001'
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
Variable_name Value
|
||||
query_response_time_range_base 1000
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE =10;
|
||||
DROP FUNCTION test_f;
|
||||
SET GLOBAL debug=default;
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
|
||||
0.000001 45 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
1000.000000 11 25.699999
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
time count total
|
||||
0.000001 45 0.000000
|
||||
0.001000 0 0.000000
|
||||
1.000000 55 8.450000
|
||||
1000.000000 11 25.699999
|
||||
1000000.00000 0 0.000000
|
||||
TOO LONG 0 TOO LONG
|
||||
SET SESSION query_exec_time=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
DROP PROCEDURE test_f;
|
||||
DROP TABLE t;
|
||||
|
@ -1,85 +1,36 @@
|
||||
--source include/have_response_time_distribution.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
SET GLOBAL debug="d,query_exec_time_debug";
|
||||
CREATE TABLE t(a INT);
|
||||
|
||||
delimiter /;
|
||||
CREATE FUNCTION test_f()
|
||||
RETURNS CHAR(30) DETERMINISTIC
|
||||
delimiter ^;
|
||||
CREATE PROCEDURE test_f(t DECIMAL(3,2))
|
||||
BEGIN
|
||||
SET SESSION debug="+d,query_exec_time_1.1";
|
||||
RETURN 'Hello, world!';
|
||||
END/
|
||||
delimiter ;/
|
||||
SET SESSION query_exec_time=t;
|
||||
INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time=0.1;
|
||||
DELETE FROM t;
|
||||
END^
|
||||
delimiter ;^
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 2;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
--let base=1
|
||||
--source include/query_response_time-stored.inc
|
||||
--let base=2
|
||||
--source include/query_response_time-stored.inc
|
||||
--let base=10
|
||||
--source include/query_response_time-stored.inc
|
||||
--let base=7
|
||||
--source include/query_response_time-stored.inc
|
||||
--let base=156
|
||||
--source include/query_response_time-stored.inc
|
||||
--let base=1000
|
||||
--source include/query_response_time-stored.inc
|
||||
--let base=1001
|
||||
--source include/query_response_time-stored.inc
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
source include/percona_query_response_time_show.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
SELECT test_f();
|
||||
SELECT test_f();
|
||||
SELECT test_f();
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
DROP PROCEDURE test_f;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 10;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 7;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 156;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1000;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
SELECT test_f();
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1001;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE =10;
|
||||
|
||||
DROP FUNCTION test_f;
|
||||
|
||||
SET GLOBAL debug=default;
|
||||
DROP TABLE t;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,71 +1,20 @@
|
||||
--source include/have_response_time_distribution.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
SET GLOBAL debug="d,query_exec_time_debug";
|
||||
--let base=1
|
||||
--source include/query_response_time.inc
|
||||
--let base=2
|
||||
--source include/query_response_time.inc
|
||||
--let base=10
|
||||
--source include/query_response_time.inc
|
||||
--let base=7
|
||||
--source include/query_response_time.inc
|
||||
--let base=156
|
||||
--source include/query_response_time.inc
|
||||
--let base=1000
|
||||
--source include/query_response_time.inc
|
||||
--let base=1001
|
||||
--source include/query_response_time.inc
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 2;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
source include/percona_query_response_time_sleep.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 10;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
source include/percona_query_response_time_sleep.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 7;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
source include/percona_query_response_time_sleep.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 156;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
source include/percona_query_response_time_sleep.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1000;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
source include/percona_query_response_time_flush.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
source include/percona_query_response_time_sleep.inc;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
source include/percona_query_response_time_show.inc;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE = 1001;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE =10;
|
||||
|
||||
SET GLOBAL debug=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
|
@ -41,6 +41,7 @@ DIV_PRECISION_INCREMENT
|
||||
ENGINE_CONDITION_PUSHDOWN
|
||||
ERROR_COUNT
|
||||
EVENT_SCHEDULER
|
||||
EXPAND_FAST_INDEX_CREATION
|
||||
EXPIRE_LOGS_DAYS
|
||||
EXTERNAL_USER
|
||||
FAST_INDEX_CREATION
|
||||
@ -83,6 +84,7 @@ INNODB_ADAPTIVE_HASH_INDEX_PARTITIONS
|
||||
INNODB_ADDITIONAL_MEM_POOL_SIZE
|
||||
INNODB_AUTOEXTEND_INCREMENT
|
||||
INNODB_AUTOINC_LOCK_MODE
|
||||
INNODB_BLOCKING_BUFFER_POOL_RESTORE
|
||||
INNODB_BUFFER_POOL_INSTANCES
|
||||
INNODB_BUFFER_POOL_RESTORE_AT_STARTUP
|
||||
INNODB_BUFFER_POOL_SHM_CHECKSUM
|
||||
@ -100,6 +102,7 @@ INNODB_DATA_HOME_DIR
|
||||
INNODB_DICT_SIZE_LIMIT
|
||||
INNODB_DOUBLEWRITE
|
||||
INNODB_DOUBLEWRITE_FILE
|
||||
INNODB_FAKE_CHANGES
|
||||
INNODB_FAST_CHECKSUM
|
||||
INNODB_FAST_SHUTDOWN
|
||||
INNODB_FILE_FORMAT
|
||||
@ -109,12 +112,15 @@ INNODB_FILE_PER_TABLE
|
||||
INNODB_FLUSH_LOG_AT_TRX_COMMIT
|
||||
INNODB_FLUSH_METHOD
|
||||
INNODB_FLUSH_NEIGHBOR_PAGES
|
||||
INNODB_FORCE_LOAD_CORRUPTED
|
||||
INNODB_FORCE_RECOVERY
|
||||
INNODB_IBUF_ACCEL_RATE
|
||||
INNODB_IBUF_ACTIVE_CONTRACT
|
||||
INNODB_IBUF_MAX_SIZE
|
||||
INNODB_IMPORT_TABLE_FROM_XTRABACKUP
|
||||
INNODB_IO_CAPACITY
|
||||
INNODB_KILL_IDLE_TRANSACTION
|
||||
INNODB_LARGE_PREFIX
|
||||
INNODB_LAZY_DROP_TABLE
|
||||
INNODB_LOCKS_UNSAFE_FOR_BINLOG
|
||||
INNODB_LOCK_WAIT_TIMEOUT
|
||||
@ -132,6 +138,7 @@ INNODB_OPEN_FILES
|
||||
INNODB_PAGE_SIZE
|
||||
INNODB_PURGE_BATCH_SIZE
|
||||
INNODB_PURGE_THREADS
|
||||
INNODB_RANDOM_READ_AHEAD
|
||||
INNODB_READ_AHEAD
|
||||
INNODB_READ_AHEAD_THRESHOLD
|
||||
INNODB_READ_IO_THREADS
|
||||
@ -187,6 +194,7 @@ LOG_ERROR
|
||||
LOG_OUTPUT
|
||||
LOG_QUERIES_NOT_USING_INDEXES
|
||||
LOG_SLAVE_UPDATES
|
||||
LOG_SLOW_ADMIN_STATEMENTS
|
||||
LOG_SLOW_FILTER
|
||||
LOG_SLOW_QUERIES
|
||||
LOG_SLOW_RATE_LIMIT
|
||||
@ -275,6 +283,7 @@ QUERY_CACHE_SIZE
|
||||
QUERY_CACHE_STRIP_COMMENTS
|
||||
QUERY_CACHE_TYPE
|
||||
QUERY_CACHE_WLOCK_INVALIDATE
|
||||
QUERY_EXEC_TIME
|
||||
QUERY_PREALLOC_SIZE
|
||||
QUERY_RESPONSE_TIME_RANGE_BASE
|
||||
QUERY_RESPONSE_TIME_STATS
|
||||
|
@ -39,6 +39,7 @@ DIV_PRECISION_INCREMENT
|
||||
ENGINE_CONDITION_PUSHDOWN
|
||||
ERROR_COUNT
|
||||
EVENT_SCHEDULER
|
||||
EXPAND_FAST_INDEX_CREATION
|
||||
EXPIRE_LOGS_DAYS
|
||||
EXTERNAL_USER
|
||||
FAST_INDEX_CREATION
|
||||
@ -81,6 +82,7 @@ INNODB_ADAPTIVE_HASH_INDEX_PARTITIONS
|
||||
INNODB_ADDITIONAL_MEM_POOL_SIZE
|
||||
INNODB_AUTOEXTEND_INCREMENT
|
||||
INNODB_AUTOINC_LOCK_MODE
|
||||
INNODB_BLOCKING_BUFFER_POOL_RESTORE
|
||||
INNODB_BUFFER_POOL_INSTANCES
|
||||
INNODB_BUFFER_POOL_RESTORE_AT_STARTUP
|
||||
INNODB_BUFFER_POOL_SHM_CHECKSUM
|
||||
@ -97,6 +99,7 @@ INNODB_DATA_HOME_DIR
|
||||
INNODB_DICT_SIZE_LIMIT
|
||||
INNODB_DOUBLEWRITE
|
||||
INNODB_DOUBLEWRITE_FILE
|
||||
INNODB_FAKE_CHANGES
|
||||
INNODB_FAST_CHECKSUM
|
||||
INNODB_FAST_SHUTDOWN
|
||||
INNODB_FILE_FORMAT
|
||||
@ -106,12 +109,15 @@ INNODB_FILE_PER_TABLE
|
||||
INNODB_FLUSH_LOG_AT_TRX_COMMIT
|
||||
INNODB_FLUSH_METHOD
|
||||
INNODB_FLUSH_NEIGHBOR_PAGES
|
||||
INNODB_FORCE_LOAD_CORRUPTED
|
||||
INNODB_FORCE_RECOVERY
|
||||
INNODB_IBUF_ACCEL_RATE
|
||||
INNODB_IBUF_ACTIVE_CONTRACT
|
||||
INNODB_IBUF_MAX_SIZE
|
||||
INNODB_IMPORT_TABLE_FROM_XTRABACKUP
|
||||
INNODB_IO_CAPACITY
|
||||
INNODB_KILL_IDLE_TRANSACTION
|
||||
INNODB_LARGE_PREFIX
|
||||
INNODB_LAZY_DROP_TABLE
|
||||
INNODB_LOCKS_UNSAFE_FOR_BINLOG
|
||||
INNODB_LOCK_WAIT_TIMEOUT
|
||||
@ -129,6 +135,7 @@ INNODB_OPEN_FILES
|
||||
INNODB_PAGE_SIZE
|
||||
INNODB_PURGE_BATCH_SIZE
|
||||
INNODB_PURGE_THREADS
|
||||
INNODB_RANDOM_READ_AHEAD
|
||||
INNODB_READ_AHEAD
|
||||
INNODB_READ_AHEAD_THRESHOLD
|
||||
INNODB_READ_IO_THREADS
|
||||
@ -184,6 +191,7 @@ LOG_ERROR
|
||||
LOG_OUTPUT
|
||||
LOG_QUERIES_NOT_USING_INDEXES
|
||||
LOG_SLAVE_UPDATES
|
||||
LOG_SLOW_ADMIN_STATEMENTS
|
||||
LOG_SLOW_FILTER
|
||||
LOG_SLOW_QUERIES
|
||||
LOG_SLOW_RATE_LIMIT
|
||||
|
@ -1,4 +1,4 @@
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
SET GLOBAL query_cache_size=1355776;
|
||||
flush query cache;
|
||||
flush query cache;
|
||||
reset query cache;
|
||||
@ -8,20 +8,16 @@ CREATE TABLE t(id INT, number INT);
|
||||
INSERT INTO t VALUES (0,1);
|
||||
INSERT INTO t VALUES (1,2);
|
||||
INSERT INTO t VALUES (2,3);
|
||||
SET SESSION debug="+d,status_waiting_on_query_cache_mutex_sleep";
|
||||
SET DEBUG_SYNC='status_waiting_on_query_cache_mutex SIGNAL thread_ready';
|
||||
SELECT number from t where id > 0;
|
||||
number
|
||||
2
|
||||
3
|
||||
SET SESSION debug="+d,status_wait_query_cache_mutex_sleep";
|
||||
SELECT number from t where id > 0;
|
||||
SET SESSION debug="+d,status_wait_query_cache_mutex_sleep";
|
||||
SELECT number from t where id > 0;
|
||||
SET SESSION debug="+d,status_wait_query_cache_mutex_sleep";
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info Rows_sent Rows_examined Rows_read
|
||||
Id root localhost test Sleep Time NULL Rows_sent Rows_examined Rows_read
|
||||
Id root localhost test Query Time Waiting on query cache mutex SELECT number from t where id > 0 Rows_sent Rows_examined Rows_read
|
||||
Id root localhost test Query Time Waiting on query cache mutex SELECT number from t where id > 0 Rows_sent Rows_examined Rows_read
|
||||
Id root localhost test Query Time NULL SHOW PROCESSLIST Rows_sent Rows_examined Rows_read
|
||||
### root ### test Query ### NULL SHOW PROCESSLIST ### ### ###
|
||||
### root ### test Query ### Waiting on query cache mutex SELECT number from t where id > 0 ### ### ###
|
||||
SELECT id, info, state FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id;
|
||||
id info state
|
||||
### SELECT id, info, state FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id executing
|
||||
### SELECT number from t where id > 0 Waiting on query cache mutex
|
||||
DROP TABLE t;
|
||||
set GLOBAL query_cache_size=0;
|
||||
SET GLOBAL query_cache_size=0;
|
||||
|
@ -1,6 +1,7 @@
|
||||
--source include/have_query_cache.inc
|
||||
--source include/have_debug.inc
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
--source include/have_debug_sync.inc
|
||||
SET GLOBAL query_cache_size=1355776;
|
||||
--source include/percona_query_cache_with_comments_clear.inc
|
||||
|
||||
-- disable_warnings
|
||||
@ -10,28 +11,21 @@ CREATE TABLE t(id INT, number INT);
|
||||
INSERT INTO t VALUES (0,1);
|
||||
INSERT INTO t VALUES (1,2);
|
||||
INSERT INTO t VALUES (2,3);
|
||||
SELECT number from t where id > 0;
|
||||
--connect (conn0,localhost,root,,)
|
||||
--connect (conn1,localhost,root,,)
|
||||
--connect (conn2,localhost,root,,)
|
||||
|
||||
--connection conn0
|
||||
--error 0, ER_UNKNOWN_SYSTEM_VARIABLE
|
||||
SET SESSION debug="+d,status_wait_query_cache_mutex_sleep";
|
||||
--connect (conn,localhost,root,,)
|
||||
|
||||
--connection conn
|
||||
SET SESSION debug="+d,status_waiting_on_query_cache_mutex_sleep";
|
||||
SET DEBUG_SYNC='status_waiting_on_query_cache_mutex SIGNAL thread_ready';
|
||||
SEND SELECT number from t where id > 0;
|
||||
SLEEP 1.0;
|
||||
|
||||
--connection conn1
|
||||
--error 0, ER_UNKNOWN_SYSTEM_VARIABLE
|
||||
SET SESSION debug="+d,status_wait_query_cache_mutex_sleep";
|
||||
SEND SELECT number from t where id > 0;
|
||||
SLEEP 1.0;
|
||||
|
||||
--connection conn2
|
||||
--error 0, ER_UNKNOWN_SYSTEM_VARIABLE
|
||||
SET SESSION debug="+d,status_wait_query_cache_mutex_sleep";
|
||||
--replace_column 1 Id 6 Time 9 Rows_sent 10 Rows_examined 11 Rows_read
|
||||
--connection default
|
||||
--replace_column 1 ### 3 ### 6 ### 9 ### 10 ### 11 ###
|
||||
SHOW PROCESSLIST;
|
||||
|
||||
--replace_column 1 ###
|
||||
SELECT id, info, state FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY id;
|
||||
|
||||
--disconnect conn
|
||||
DROP TABLE t;
|
||||
set GLOBAL query_cache_size=0;
|
||||
SET GLOBAL query_cache_size=0;
|
||||
|
57
mysql-test/suite/percona/query_response_time-replication.inc
Normal file
57
mysql-test/suite/percona/query_response_time-replication.inc
Normal file
@ -0,0 +1,57 @@
|
||||
connection master;
|
||||
|
||||
CREATE TABLE t(id INT);
|
||||
|
||||
connection slave;
|
||||
SET GLOBAL query_exec_time = 0.1;
|
||||
--source include/restart_slave_sql.inc
|
||||
|
||||
connection slave;
|
||||
|
||||
SET SESSION query_exec_time=0.1;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
--eval SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=$base
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
|
||||
connection master;
|
||||
|
||||
SET SESSION query_exec_time = 0.31; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.32; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.33; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.34; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.35; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.36; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.37; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.38; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.39; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.4; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.1; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.2; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.3; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.5; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 1.4; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 0.5; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.1; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.3; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 2.5; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 3.1; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 4.1; INSERT INTO t VALUES(1);
|
||||
SET SESSION query_exec_time = 5.1; INSERT INTO t VALUES(1);
|
||||
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t;
|
||||
|
||||
sync_slave_with_master;
|
37
mysql-test/suite/percona/query_response_time-stored.inc
Normal file
37
mysql-test/suite/percona/query_response_time-stored.inc
Normal file
@ -0,0 +1,37 @@
|
||||
SET SESSION query_exec_time=0.1;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
EVAL SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=$base;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
|
||||
CALL test_f(0.31);
|
||||
CALL test_f(0.32);
|
||||
CALL test_f(0.33);
|
||||
CALL test_f(0.34);
|
||||
CALL test_f(0.35);
|
||||
CALL test_f(0.36);
|
||||
CALL test_f(0.37);
|
||||
CALL test_f(0.38);
|
||||
CALL test_f(0.39);
|
||||
CALL test_f(0.4);
|
||||
CALL test_f(1.1);
|
||||
CALL test_f(1.2);
|
||||
CALL test_f(1.3);
|
||||
CALL test_f(1.5);
|
||||
CALL test_f(1.4);
|
||||
CALL test_f(0.5);
|
||||
CALL test_f(2.1);
|
||||
CALL test_f(2.3);
|
||||
CALL test_f(2.5);
|
||||
CALL test_f(3.1);
|
||||
CALL test_f(4.1);
|
||||
CALL test_f(5.1);
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
|
||||
SET SESSION query_exec_time=default;
|
43
mysql-test/suite/percona/query_response_time.inc
Normal file
43
mysql-test/suite/percona/query_response_time.inc
Normal file
@ -0,0 +1,43 @@
|
||||
SET SESSION query_exec_time=0.1;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
EVAL SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=$base;
|
||||
FLUSH QUERY_RESPONSE_TIME;
|
||||
# Following two queries check works of FLUSH and
|
||||
# respecting of "QUERY_RESPONSE_TIME_STATS" variable (see launchpad bug #855312)
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
|
||||
|
||||
SET SESSION query_exec_time=0.31; SELECT 1;
|
||||
SET SESSION query_exec_time=0.32; SELECT 1;
|
||||
SET SESSION query_exec_time=0.33; SELECT 1;
|
||||
SET SESSION query_exec_time=0.34; SELECT 1;
|
||||
SET SESSION query_exec_time=0.35; SELECT 1;
|
||||
SET SESSION query_exec_time=0.36; SELECT 1;
|
||||
SET SESSION query_exec_time=0.37; SELECT 1;
|
||||
SET SESSION query_exec_time=0.38; SELECT 1;
|
||||
SET SESSION query_exec_time=0.39; SELECT 1;
|
||||
SET SESSION query_exec_time=0.4; SELECT 1;
|
||||
SET SESSION query_exec_time=1.1; SELECT 1;
|
||||
SET SESSION query_exec_time=1.2; SELECT 1;
|
||||
SET SESSION query_exec_time=1.3; SELECT 1;
|
||||
SET SESSION query_exec_time=1.5; SELECT 1;
|
||||
SET SESSION query_exec_time=1.4; SELECT 1;
|
||||
SET SESSION query_exec_time=0.5; SELECT 1;
|
||||
SET SESSION query_exec_time=2.1; SELECT 1;
|
||||
SET SESSION query_exec_time=2.3; SELECT 1;
|
||||
SET SESSION query_exec_time=2.5; SELECT 1;
|
||||
SET SESSION query_exec_time=3.1; SELECT 1;
|
||||
SET SESSION query_exec_time=4.1; SELECT 1;
|
||||
SET SESSION query_exec_time=5.1; SELECT 1;
|
||||
|
||||
SET SESSION query_exec_time=0.1;
|
||||
|
||||
SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
|
||||
|
||||
SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
|
||||
SHOW QUERY_RESPONSE_TIME;
|
||||
SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
|
||||
|
||||
SET SESSION query_exec_time=default;
|
@ -1,21 +1,69 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
call mtr.add_suppression("Slave SQL: Request to stop slave SQL Thread received while applying a group that has non-transactional changes");
|
||||
include/rpl_connect.inc [creating slave_lock]
|
||||
include/rpl_connect.inc [creating slave_nolock]
|
||||
[master]
|
||||
DROP TABLE IF EXISTS t;
|
||||
CREATE TABLE t(id INT);
|
||||
INSERT INTO t SELECT SLEEP(10);
|
||||
STOP SLAVE;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
|
||||
master count(*)
|
||||
master 1
|
||||
slave count(*)
|
||||
slave 0
|
||||
[slave]
|
||||
SET DEBUG_SYNC='RESET';
|
||||
SET GLOBAL DEBUG="+d,after_mysql_insert,after_show_slave_status";
|
||||
[master]
|
||||
INSERT INTO t VALUES(0);
|
||||
[slave]
|
||||
check 'SHOW SLAVE STATUS' and 'SHOW SLAVE STATUS NOLOCK' - both should work fine
|
||||
|
||||
[slave_lock]
|
||||
SHOW SLAVE STATUS;
|
||||
SET DEBUG_SYNC='now WAIT_FOR signal.after_show_slave_status TIMEOUT 1';
|
||||
SIGNAL after SHOW SLAVE STATUS is 'signal.after_show_slave_status'
|
||||
[slave]
|
||||
SET DEBUG_SYNC='now SIGNAL signal.empty';
|
||||
[slave_nolock]
|
||||
SHOW SLAVE STATUS NOLOCK;
|
||||
SET DEBUG_SYNC='now WAIT_FOR signal.after_show_slave_status TIMEOUT 1';
|
||||
# should be 'signal.after_show_slave_status'
|
||||
SIGNAL after SHOW SLAVE STATUS NOLOCK is 'signal.after_show_slave_status'
|
||||
[slave]
|
||||
SET DEBUG_SYNC='now SIGNAL signal.continue';
|
||||
[slave]
|
||||
SET DEBUG_SYNC='now SIGNAL signal.empty';
|
||||
|
||||
[master]
|
||||
INSERT INTO t VALUES(1);
|
||||
[slave]
|
||||
include/rpl_connect.inc [creating slave_stop]
|
||||
[slave_stop]
|
||||
STOP SLAVE;
|
||||
[slave]
|
||||
check 'SHOW SLAVE STATUS' and 'SHOW SLAVE STATUS NOLOCK' - just NOLOCK version should works fine
|
||||
|
||||
[slave_lock]
|
||||
SHOW SLAVE STATUS;
|
||||
SET DEBUG_SYNC='now WAIT_FOR signal.after_show_slave_status TIMEOUT 1';
|
||||
SIGNAL after SHOW SLAVE STATUS is 'signal.empty'
|
||||
[slave]
|
||||
SET DEBUG_SYNC='now SIGNAL signal.empty';
|
||||
[slave_nolock]
|
||||
SHOW SLAVE STATUS NOLOCK;
|
||||
SET DEBUG_SYNC='now WAIT_FOR signal.after_show_slave_status TIMEOUT 1';
|
||||
# should be 'signal.after_show_slave_status'
|
||||
SIGNAL after SHOW SLAVE STATUS NOLOCK is 'signal.after_show_slave_status'
|
||||
[slave]
|
||||
SET DEBUG_SYNC='now SIGNAL signal.continue';
|
||||
[slave]
|
||||
SET DEBUG_SYNC='now SIGNAL signal.empty';
|
||||
|
||||
[slave_stop]
|
||||
include/wait_for_slave_to_stop.inc
|
||||
START SLAVE;
|
||||
include/wait_for_slave_to_start.inc
|
||||
slave count(*)
|
||||
slave 1
|
||||
[master]
|
||||
SET DEBUG_SYNC='RESET';
|
||||
[slave]
|
||||
SET GLOBAL DEBUG='';
|
||||
SET DEBUG_SYNC='RESET';
|
||||
[master]
|
||||
DROP TABLE t;
|
||||
STOP SLAVE;
|
||||
include/wait_for_slave_to_stop.inc
|
||||
include/rpl_end.inc
|
||||
|
@ -1,53 +1,90 @@
|
||||
--source include/master-slave.inc
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/have_binlog_format_statement.inc
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Statement:");
|
||||
call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
|
||||
--enable_query_log
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t;
|
||||
--enable_warnings
|
||||
CREATE TABLE t(id INT);
|
||||
sync_slave_with_master;
|
||||
|
||||
call mtr.add_suppression("Slave SQL: Request to stop slave SQL Thread received while applying a group that has non-transactional changes");
|
||||
|
||||
--let $rpl_connection_name=slave_lock
|
||||
--let $rpl_server_number=2
|
||||
--source include/rpl_connect.inc
|
||||
|
||||
--let $rpl_connection_name=slave_nolock
|
||||
--let $rpl_server_number=2
|
||||
--source include/rpl_connect.inc
|
||||
|
||||
--let $show_statement= SHOW PROCESSLIST
|
||||
--let $field= Info
|
||||
|
||||
connection master;
|
||||
send INSERT INTO t SELECT SLEEP(10);
|
||||
|
||||
connection slave;
|
||||
sleep 15;
|
||||
send STOP SLAVE;
|
||||
|
||||
connection master;
|
||||
reap;
|
||||
|
||||
--disable_query_log
|
||||
select "master",count(*) from t;
|
||||
--enable_query_log
|
||||
|
||||
connection slave1;
|
||||
--disable_query_log
|
||||
select "slave",count(*) from t;
|
||||
--enable_query_log
|
||||
|
||||
--disable_result_log
|
||||
SHOW SLAVE STATUS NOLOCK;
|
||||
--enable_result_log
|
||||
|
||||
connection slave;
|
||||
reap;
|
||||
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
--disable_query_log
|
||||
select "slave",count(*) from t;
|
||||
--enable_query_log
|
||||
|
||||
connection master;
|
||||
DROP TABLE t;
|
||||
--echo [master]
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t;
|
||||
--enable_warnings
|
||||
CREATE TABLE t(id INT);
|
||||
sync_slave_with_master;
|
||||
STOP SLAVE;
|
||||
|
||||
connection slave;
|
||||
--echo [slave]
|
||||
SET DEBUG_SYNC='RESET';
|
||||
SET GLOBAL DEBUG="+d,after_mysql_insert,after_show_slave_status";
|
||||
|
||||
connection master;
|
||||
--echo [master]
|
||||
INSERT INTO t VALUES(0);
|
||||
|
||||
connection slave;
|
||||
--echo [slave]
|
||||
--let $condition= 'INSERT INTO t VALUES(0)'
|
||||
--source include/wait_show_condition.inc
|
||||
|
||||
--echo check 'SHOW SLAVE STATUS' and 'SHOW SLAVE STATUS NOLOCK' - both should work fine
|
||||
--source include/percona_show_slave_status_nolock.inc
|
||||
|
||||
connection master;
|
||||
--echo [master]
|
||||
INSERT INTO t VALUES(1);
|
||||
|
||||
connection slave;
|
||||
--echo [slave]
|
||||
--let $condition= 'INSERT INTO t VALUES(1)'
|
||||
--source include/wait_show_condition.inc
|
||||
|
||||
--let $rpl_connection_name=slave_stop
|
||||
--let $rpl_server_number=2
|
||||
--source include/rpl_connect.inc
|
||||
|
||||
connection slave_stop;
|
||||
--echo [slave_stop]
|
||||
send STOP SLAVE;
|
||||
|
||||
connection slave;
|
||||
--echo [slave]
|
||||
--let $condition= 'STOP SLAVE'
|
||||
--source include/wait_show_condition.inc
|
||||
|
||||
--echo check 'SHOW SLAVE STATUS' and 'SHOW SLAVE STATUS NOLOCK' - just NOLOCK version should works fine
|
||||
--source include/percona_show_slave_status_nolock.inc
|
||||
|
||||
|
||||
connection slave_stop;
|
||||
--echo [slave_stop]
|
||||
reap;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
connection master;
|
||||
--echo [master]
|
||||
SET DEBUG_SYNC='RESET';
|
||||
|
||||
connection slave;
|
||||
--echo [slave]
|
||||
SET GLOBAL DEBUG='';
|
||||
SET DEBUG_SYNC='RESET';
|
||||
|
||||
connection master;
|
||||
--echo [master]
|
||||
DROP TABLE t;
|
||||
sync_slave_with_master;
|
||||
|
||||
--source include/rpl_end.inc
|
||||
|
Reference in New Issue
Block a user