diff options
Diffstat (limited to 'mysql-test/suite/perfschema/include/memory_aggregate_load.inc')
-rw-r--r-- | mysql-test/suite/perfschema/include/memory_aggregate_load.inc | 506 |
1 files changed, 506 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/include/memory_aggregate_load.inc b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc new file mode 100644 index 00000000000..7a54d25216e --- /dev/null +++ b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc @@ -0,0 +1,506 @@ +# Tests for the performance schema + +# ======================================== +# HELPER include/memory_aggregate_load.inc +# ======================================== + +echo "================== Step 1 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +# Notes about this test +# +# get_lock("marker") causes the following memory allocation: +# memory/sql/User_level_lock, 1 malloc, size 16 (size 8 for 32-bit systems). +# release_lock("marker") causes the following memory free: +# memory/sql/User_level_lock, 1 free, size 16 (size 8 for 32-bit systems). +# +# To avoid noise from main, the background threads are disabled. + +connect (con1, localhost, user1, , ); + +echo "================== con1 connected =================="; + +--connection default + +# Wait for the connect to complete +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1'; +--source include/wait_condition.inc + +echo "================== Step 2 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con1 + +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +select release_lock("marker_1"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con1 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 1 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 3 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +# Debugging helpers +# select * from performance_schema.events_waits_history_long; +# select PROCESSLIST_USER, PROCESSLIST_HOST, INSTRUMENTED from performance_schema.threads; + +connect (con2, localhost, user2, , ); + +echo "================== con2 connected =================="; + +--connection default + +# Wait for the connect to complete +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2'; +--source include/wait_condition.inc + +echo "================== Step 4 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con2 + +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +select release_lock("marker_2"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con2 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 2 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 5 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate table performance_schema.memory_summary_by_thread_by_event_name; + +echo "================== MEMORY_BY_THREAD truncated =================="; + +echo "================== Step 5b =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +connect (con3, localhost, user3, , ); + +echo "================== con3 connected =================="; + +--connection default + +# Wait for the connect to complete +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3'; +--source include/wait_condition.inc + +echo "================== Step 6 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con3 + +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +select release_lock("marker_3"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con3 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 3 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 7 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +connect (con4, localhost, user4, , ); +connect (con5, localhost, user4, , ); + +echo "================== con4/con5 (both user4) connected =================="; + +--connection default + +# Wait for the connects to complete +let $wait_condition= + select count(*) = 2 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4'; +--source include/wait_condition.inc + +echo "================== Step 8 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con4 + +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +select release_lock("marker_4"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +--connection con5 +select get_lock("marker_5", 10); +select release_lock("marker_5"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con4/con5 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 5 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 9 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con1 +--disconnect con5 + +--connection default + +# Wait for the disconnects to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1'; +--source include/wait_condition.inc +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4'; +--source include/wait_condition.inc + +echo "================== con1/con5 disconnected =================="; + +echo "================== Step 10 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con2 + +--connection default + +# Wait for the disconnect to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2'; +--source include/wait_condition.inc + +echo "================== con2 disconnected =================="; + +echo "================== Step 11 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con3 + +--connection default + +# Wait for the disconnect to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3'; +--source include/wait_condition.inc + +echo "================== con3 disconnected =================="; + +echo "================== Step 12 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con4 + +--connection default + +# Wait for the disconnect to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4'; +--source include/wait_condition.inc + +echo "================== con4 disconnected =================="; + +echo "================== Step 13 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection default + +truncate performance_schema.memory_summary_by_thread_by_event_name; + +echo "================== MEMORY_BY_THREAD truncated =================="; + +echo "================== Step 14 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_by_account_by_event_name; + +echo "================== MEMORY_BY_ACCOUNT truncated =================="; + +echo "================== Step 15 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_by_user_by_event_name; + +echo "================== MEMORY_BY_USER truncated =================="; + +echo "================== Step 16 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_by_host_by_event_name; + +echo "================== MEMORY_BY_HOST truncated =================="; + +echo "================== Step 17 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_global_by_event_name; + +echo "================== MEMORY_GLOBAL truncated =================="; + +echo "================== Step 18 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.accounts; + +echo "================== ACCOUNTS truncated =================="; + +echo "================== Step 19 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.users; + +echo "================== USERS truncated =================="; + +echo "================== Step 20 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.hosts; + +echo "================== HOSTS truncated =================="; + +echo "================== Step 21 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + |