summaryrefslogtreecommitdiff
path: root/mysql-test/suite/perfschema/t/sizing_growth.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/perfschema/t/sizing_growth.test')
-rw-r--r--mysql-test/suite/perfschema/t/sizing_growth.test478
1 files changed, 0 insertions, 478 deletions
diff --git a/mysql-test/suite/perfschema/t/sizing_growth.test b/mysql-test/suite/perfschema/t/sizing_growth.test
deleted file mode 100644
index d6944d2aee0..00000000000
--- a/mysql-test/suite/perfschema/t/sizing_growth.test
+++ /dev/null
@@ -1,478 +0,0 @@
-# Tests for PERFORMANCE_SCHEMA
-
---source include/not_embedded.inc
---source include/have_perfschema.inc
-
-#
-# Important note:
-# this test is extremely sensitive to how threads are running inside the server,
-# so it has it's own -master.opt file, to enforce it runs alone in mysqld
-#
-
-# Setup
-
-flush status;
-flush tables;
-
-# Remove to debug
---disable_result_log
-
-# Make sure the internal server caches are all full
-select * from performance_schema.mutex_instances;
-select * from performance_schema.rwlock_instances;
-select * from performance_schema.cond_instances;
-select * from performance_schema.file_instances;
-
-select count(*) from performance_schema.mutex_instances
- into @v0_mutex_instances;
-
-select count(*) from performance_schema.rwlock_instances
- into @v0_rwlock_instances;
-
-select count(*) from performance_schema.cond_instances
- into @v0_cond_instances;
-
-select count(*) from performance_schema.file_instances
- into @v0_file_instances;
-
-select count(*) from performance_schema.mutex_instances
- into @v1_mutex_instances;
-
-select count(*) from performance_schema.rwlock_instances
- into @v1_rwlock_instances;
-
-select count(*) from performance_schema.cond_instances
- into @v1_cond_instances;
-
-select count(*) from performance_schema.file_instances
- into @v1_file_instances;
-
-select count(name), name from performance_schema.mutex_instances
- group by name;
-
-select count(name), name from performance_schema.rwlock_instances
- group by name;
-
-select count(name), name from performance_schema.cond_instances
- group by name;
-
-select count(event_name), event_name from performance_schema.file_instances
- group by event_name;
-
-begin;
-create table test.t1(a int) engine = innodb;
-create table test.t2(a int) engine = innodb;
-create table test.t3(a int) engine = innodb;
-create table test.t4(a int) engine = innodb;
-create table test.t5(a int) engine = innodb;
-create table test.t6(a int) engine = innodb;
-create table test.t7(a int) engine = innodb;
-create table test.t8(a int) engine = innodb;
-create table test.t9(a int) engine = innodb;
-create table test.t10(a int) engine = innodb;
-
-# Make sure there is at least 1 table handle,
-# to fully initialize the storage engine share if needed.
-select * from test.t1;
-select * from test.t2;
-select * from test.t3;
-select * from test.t4;
-select * from test.t5;
-select * from test.t6;
-select * from test.t7;
-select * from test.t8;
-select * from test.t9;
-select * from test.t10;
-commit;
-
-select count(*) from performance_schema.mutex_instances
- into @v2_mutex_instances;
-
-select count(*) from performance_schema.rwlock_instances
- into @v2_rwlock_instances;
-
-select count(*) from performance_schema.cond_instances
- into @v2_cond_instances;
-
-select count(*) from performance_schema.file_instances
- into @v2_file_instances;
-
-select count(name), name from performance_schema.mutex_instances
- group by name;
-
-select count(name), name from performance_schema.rwlock_instances
- group by name;
-
-select count(name), name from performance_schema.cond_instances
- group by name;
-
-select count(event_name), event_name from performance_schema.file_instances
- group by event_name;
-
-select @v2_mutex_instances, @v1_mutex_instances, @v0_mutex_instances;
-select @v2_rwlock_instances, @v1_rwlock_instances, @v0_rwlock_instances;
-select @v2_cond_instances, @v1_cond_instances, @v0_cond_instances;
-select @v2_file_instances, @v1_file_instances, @v0_file_instances;
-
-select round((@v2_mutex_instances - @v1_mutex_instances) / 10)
- into @mutex_per_share;
-select round((@v2_rwlock_instances - @v1_rwlock_instances) / 10)
- into @rwlock_per_share;
-select round((@v2_cond_instances - @v1_cond_instances) / 10)
- into @cond_per_share;
-select round((@v2_file_instances - @v1_file_instances) / 10)
- into @file_per_share;
-
-connect (con1, localhost, root,,);
-select "con1 connected";
-
-connect (con2, localhost, root,,);
-select "con2 connected";
-
-connect (con3, localhost, root,,);
-select "con3 connected";
-
-connect (con4, localhost, root,,);
-select "con4 connected";
-
-connect (con5, localhost, root,,);
-select "con5 connected";
-
-connect (con6, localhost, root,,);
-select "con6 connected";
-
-connect (con7, localhost, root,,);
-select "con7 connected";
-
-connect (con8, localhost, root,,);
-select "con8 connected";
-
-connect (con9, localhost, root,,);
-select "con9 connected";
-
-connect (con10, localhost, root,,);
-select "con10 connected";
-
-connection default;
-
-select count(*) from performance_schema.mutex_instances
- into @v3_mutex_instances;
-
-select count(*) from performance_schema.rwlock_instances
- into @v3_rwlock_instances;
-
-select count(*) from performance_schema.cond_instances
- into @v3_cond_instances;
-
-select count(*) from performance_schema.file_instances
- into @v3_file_instances;
-
-select count(name), name from performance_schema.mutex_instances
- group by name;
-
-select count(name), name from performance_schema.rwlock_instances
- group by name;
-
-select count(name), name from performance_schema.cond_instances
- group by name;
-
-select count(event_name), event_name from performance_schema.file_instances
- group by event_name;
-
-select @v3_mutex_instances, @v2_mutex_instances;
-select @v3_rwlock_instances, @v2_rwlock_instances;
-select @v3_cond_instances, @v2_cond_instances;
-select @v3_file_instances, @v2_file_instances;
-
-select round((@v3_mutex_instances - @v2_mutex_instances) / 10)
- into @mutex_per_con;
-select round((@v3_rwlock_instances - @v2_rwlock_instances) / 10)
- into @rwlock_per_con;
-select round((@v3_cond_instances - @v2_cond_instances) / 10)
- into @cond_per_con;
-select round((@v3_file_instances - @v2_file_instances) / 10)
- into @file_per_con;
-
---connection con1
-
-lock table test.t1 write, test.t2 write, test.t3 write, test.t4 write,
-test.t5 write, test.t6 write, test.t7 write, test.t8 write, test.t9 write,
-test.t10 write;
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con2
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con3
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con4
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con5
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con6
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con7
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con8
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con9
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
---connection con10
-
---send
-select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.*
- from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
-
-connection default;
-
-select count(*) from performance_schema.mutex_instances
- into @v4_mutex_instances;
-
-select count(*) from performance_schema.rwlock_instances
- into @v4_rwlock_instances;
-
-select count(*) from performance_schema.cond_instances
- into @v4_cond_instances;
-
-select count(*) from performance_schema.file_instances
- into @v4_file_instances;
-
-select count(name), name from performance_schema.mutex_instances
- group by name;
-
-select count(name), name from performance_schema.rwlock_instances
- group by name;
-
-select count(name), name from performance_schema.cond_instances
- group by name;
-
-select count(event_name), event_name from performance_schema.file_instances
- group by event_name;
-
-select @v4_mutex_instances, @v3_mutex_instances;
-select @v4_rwlock_instances, @v3_rwlock_instances;
-select @v4_cond_instances, @v3_cond_instances;
-select @v4_file_instances, @v3_file_instances;
-
-select round((@v4_mutex_instances - @v3_mutex_instances) / 10)
- into @mutex_per_handle;
-select round((@v4_rwlock_instances - @v3_rwlock_instances) / 10)
- into @rwlock_per_handle;
-select round((@v4_cond_instances - @v3_cond_instances) / 10)
- into @cond_per_handle;
-select round((@v4_file_instances - @v3_file_instances) / 10)
- into @file_per_handle;
-
---connection con1
---reap
-
-unlock tables;
-
---connection con2
---reap
-
---connection con3
---reap
-
---connection con4
---reap
-
---connection con5
---reap
-
---connection con6
---reap
-
---connection con7
---reap
-
---connection con8
---reap
-
---connection con9
---reap
-
---connection con10
---reap
-
---disconnect con1
---disconnect con2
---disconnect con3
---disconnect con4
---disconnect con5
---disconnect con6
---disconnect con7
---disconnect con8
---disconnect con9
---disconnect con10
-
---connection default
-
-drop table test.t1;
-drop table test.t2;
-drop table test.t3;
-drop table test.t4;
-drop table test.t5;
-drop table test.t6;
-drop table test.t7;
-drop table test.t8;
-drop table test.t9;
-drop table test.t10;
-
---enable_result_log
-
-#
-# This test must have *_lost = 0,
-# otherwise the measurement is just wrong.
-#
-
-show status like "performance_schema%";
-
-#
-# Expecting 2:
-# - wait/synch/mutex/sql/MDL_wait::LOCK_wait_status
-# - wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data
-# plus mutexes used inside the storage engine
-# This is very storage engine dependent
-# For innodb:
-# - wait/synch/mutex/innodb/autoinc_mutex
-# - wait/synch/mutex/innodb/os_mutex
-# Note that depending on the platform,
-# and the version of the compiler used,
-# code in the server may use either native platform atomics
-# or a mutex.
-# Note also that in DEBUG builds, code uses more mutexes.
-# Because of all these parameters,
-# this test is disabled, as predicting an exact number is difficult.
-#
-# commented: select @mutex_per_share <= 5;
-
-#
-# Expecting 1:
-# - wait/synch/rwlock/sql/MDL_lock::rwlock
-# plus rwlocks used inside the storage engine
-# This is very storage engine dependent
-#
-select @rwlock_per_share <= 3;
-
-#
-# Expecting 0:
-#
-select @cond_per_share;
-
-#
-# Expecting 1:
-# - wait/io/file/sql/FRM
-# plus files used inside the storage engine
-# This is very storage engine dependent
-#
-select @file_per_share <= 3;
-
-#
-# Expecting 3:
-# - wait/synch/mutex/mysys/my_thread_var::mutex
-# - wait/synch/mutex/mysys/THR_LOCK::mutex
-# - wait/synch/mutex/sql/THD::LOCK_thd_data
-#
-select @mutex_per_con;
-
-#
-# Expecting 1:
-# - wait/synch/rwlock/sql/MDL_context::LOCK_waiting_for
-#
-select @rwlock_per_con;
-
-#
-# Expecting 2:
-# - wait/synch/cond/mysys/my_thread_var::suspend
-# - wait/synch/cond/sql/MDL_context::COND_wait_status
-#
-select @cond_per_con;
-
-#
-# Expecting 0:
-#
-select @file_per_con;
-
-#
-# Expecting 0:
-#
-select @mutex_per_handle;
-
-#
-# Expecting 0:
-#
-select @rwlock_per_handle;
-
-#
-# Expecting 0:
-#
-select @cond_per_handle;
-
-#
-# Expecting 0:
-#
-select @file_per_handle;
-
-#
-# IMPORTANT NOTE:
-# when any measurement here changes, the heuristics
-# in storage/perfschema/pfs_autosize.cc need to be updated.
-# Note that this in turns will lead to different estimations for automated
-# sizing, and imply to update the results for sizing_*.
-#
-
-# commented: (@mutex_per_share <= 5)
-# Mutexes are not instrumented by default,
-# not enforcing mutex estimates
-
-select if(
- (@rwlock_per_share <= 3)
- AND (@cond_per_share = 0)
- AND (@file_per_share <= 3)
- AND (@mutex_per_con = 3)
- AND (@rwlock_per_con = 1)
- AND (@cond_per_con = 2)
- AND (@file_per_con = 0)
- AND (@mutex_per_handle = 0)
- AND (@rwlock_per_handle = 0)
- AND (@cond_per_handle = 0)
- AND (@file_per_handle = 0),
- "OK: heuristics are up to date",
- "FAILED: heuristics need to be updated")
- as status;
-