mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Make encryption.innodb_lotoftables more robust.
Perform a slow shutdown at the start of the test, and create all InnoDB tables with STATS_PERSISTENT=0, so that any I/O related to background tasks (change buffer merge, purge, persistent statistics) should be eliminated.
This commit is contained in:
@ -1,3 +1,4 @@
|
|||||||
|
SET GLOBAL innodb_fast_shutdown=0;
|
||||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||||
SET GLOBAL innodb_file_per_table = ON;
|
SET GLOBAL innodb_file_per_table = ON;
|
||||||
SHOW VARIABLES LIKE 'innodb_encrypt%';
|
SHOW VARIABLES LIKE 'innodb_encrypt%';
|
||||||
@ -11,13 +12,13 @@ create database innodb_encrypted_1;
|
|||||||
use innodb_encrypted_1;
|
use innodb_encrypted_1;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
set autocommit=0;
|
set autocommit=0;
|
||||||
set autocommit=1;
|
set autocommit=1;
|
||||||
commit work;
|
commit work;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
# should be 100
|
# should be 100
|
||||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%';
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%';
|
||||||
COUNT(*)
|
COUNT(*)
|
||||||
@ -87,47 +88,47 @@ Innodb_pages0_read 3
|
|||||||
# Restart Success!
|
# Restart Success!
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
use test;
|
use test;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
use innodb_encrypted_1;
|
use innodb_encrypted_1;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
use innodb_encrypted_2;
|
use innodb_encrypted_2;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
use innodb_encrypted_3;
|
use innodb_encrypted_3;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
use innodb_encrypted_1;
|
use innodb_encrypted_1;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 3
|
Innodb_pages0_read 1
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 103
|
Innodb_pages0_read 101
|
||||||
use innodb_encrypted_2;
|
use innodb_encrypted_2;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 103
|
Innodb_pages0_read 101
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 203
|
Innodb_pages0_read 201
|
||||||
use innodb_encrypted_3;
|
use innodb_encrypted_3;
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 203
|
Innodb_pages0_read 201
|
||||||
show status like 'innodb_pages0_read%';
|
show status like 'innodb_pages0_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Innodb_pages0_read 303
|
Innodb_pages0_read 301
|
||||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%';
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%';
|
||||||
COUNT(*)
|
COUNT(*)
|
||||||
100
|
100
|
||||||
|
@ -11,6 +11,10 @@ let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
|
|||||||
let $innodb_encryption_threads_orig = `SELECT @@global.innodb_encryption_threads`;
|
let $innodb_encryption_threads_orig = `SELECT @@global.innodb_encryption_threads`;
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
|
# empty the change buffer and the undo logs to avoid extra reads
|
||||||
|
SET GLOBAL innodb_fast_shutdown=0;
|
||||||
|
--source include/restart_mysqld.inc
|
||||||
|
|
||||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||||
SET GLOBAL innodb_file_per_table = ON;
|
SET GLOBAL innodb_file_per_table = ON;
|
||||||
|
|
||||||
@ -29,7 +33,8 @@ let $tables = 100;
|
|||||||
--disable_query_log
|
--disable_query_log
|
||||||
while ($tables)
|
while ($tables)
|
||||||
{
|
{
|
||||||
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb;
|
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
|
||||||
|
stats_persistent=0;
|
||||||
commit;
|
commit;
|
||||||
let $rows = 100;
|
let $rows = 100;
|
||||||
while($rows)
|
while($rows)
|
||||||
@ -64,7 +69,8 @@ set autocommit=0;
|
|||||||
let $tables = 100;
|
let $tables = 100;
|
||||||
while ($tables)
|
while ($tables)
|
||||||
{
|
{
|
||||||
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb encrypted=yes;
|
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
|
||||||
|
stats_persistent=0 encrypted=yes;
|
||||||
commit;
|
commit;
|
||||||
let $rows = 100;
|
let $rows = 100;
|
||||||
while($rows)
|
while($rows)
|
||||||
@ -100,7 +106,8 @@ set autocommit=0;
|
|||||||
let $tables = 100;
|
let $tables = 100;
|
||||||
while ($tables)
|
while ($tables)
|
||||||
{
|
{
|
||||||
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb encrypted=no;
|
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
|
||||||
|
stats_persistent=0 encrypted=no;
|
||||||
commit;
|
commit;
|
||||||
let $rows = 100;
|
let $rows = 100;
|
||||||
while($rows)
|
while($rows)
|
||||||
|
Reference in New Issue
Block a user