mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
c9f612dbde
This was done to get more information about where time is spent. Now we can get proper timing for time spent in commit, rollback, binlog write etc. Following stages was added: - Commit - Commit_implicit - Rollback - Rollback implicit - Binlog write - Init for update - This is used instead of "Init" for insert, update and delete. - Staring cleanup Following stages where changed: - "Unlocking tables" stage reset stage to previous stage at end - "binlog write" stage resets stage to previous stage at end - "end" -> "end of update loop" - "cleaning up" -> "Reset for next command" - Added stage_searching_rows_for_update when searching for rows to be deleted. Other things: - Renamed all stages to start with big letter (before there was no consitency) - Increased performance_schema_max_stage_classes from 150 to 160. - Most of the test changes in performance schema comes from renaming of stages. - Removed duplicate output of variables and inital state in a lot of performance schema tests. This was done to make it easier to change a default value for a performance variable without affecting all tests. - Added start_server_variables.test to check configuration - Removed some duplicate "closing tables" stages - Updated position for "stage_init_update" and "stage_updating" for delete, insert and update to be just before update loop (for more exact timing). - Don't set "Checking permissions" twice in a row. - Remove stage_end stage from creating views (not done for create table either). - Updated default performance history size from 10 to 20 because of new stages - Ensure that ps_enabled is correct (to be used in a later patch)
145 lines
6.3 KiB
Text
145 lines
6.3 KiB
Text
drop table if exists test.marker;
|
|
create table test.marker(a int);
|
|
update performance_schema.setup_consumers set enabled='NO';
|
|
update performance_schema.setup_instruments set enabled='NO';
|
|
update performance_schema.setup_instruments set enabled='YES'
|
|
where name like "wait/io/table/%";
|
|
truncate table performance_schema.events_waits_history_long;
|
|
flush status;
|
|
flush tables;
|
|
# We are forced to suppress here the server response.
|
|
optimize table mysql.host;
|
|
optimize table mysql.user;
|
|
optimize table mysql.db;
|
|
optimize table mysql.proxies_priv;
|
|
optimize table mysql.roles_mapping;
|
|
optimize table mysql.tables_priv;
|
|
optimize table mysql.procs_priv;
|
|
optimize table mysql.servers;
|
|
optimize table mysql.roles_mapping;
|
|
update performance_schema.setup_consumers set enabled='YES';
|
|
update performance_schema.setup_objects set enabled='YES'
|
|
where object_type='TABLE' and object_schema= 'mysql';
|
|
flush privileges;
|
|
insert into test.marker set a = 1;
|
|
insert into test.marker set a = 1;
|
|
insert into test.marker set a = 1;
|
|
show variables where
|
|
`Variable_name` != "performance_schema_max_statement_classes" and
|
|
`Variable_name` like "performance_schema%";
|
|
Variable_name Value
|
|
performance_schema ON
|
|
performance_schema_accounts_size 100
|
|
performance_schema_digests_size 200
|
|
performance_schema_events_stages_history_long_size 1000
|
|
performance_schema_events_stages_history_size 10
|
|
performance_schema_events_statements_history_long_size 1000
|
|
performance_schema_events_statements_history_size 10
|
|
performance_schema_events_waits_history_long_size 10000
|
|
performance_schema_events_waits_history_size 10
|
|
performance_schema_hosts_size 100
|
|
performance_schema_max_cond_classes 80
|
|
performance_schema_max_cond_instances 1000
|
|
performance_schema_max_digest_length 1024
|
|
performance_schema_max_file_classes 50
|
|
performance_schema_max_file_handles 32768
|
|
performance_schema_max_file_instances 10000
|
|
performance_schema_max_mutex_classes 200
|
|
performance_schema_max_mutex_instances 5000
|
|
performance_schema_max_rwlock_classes 40
|
|
performance_schema_max_rwlock_instances 5000
|
|
performance_schema_max_socket_classes 10
|
|
performance_schema_max_socket_instances 1000
|
|
performance_schema_max_stage_classes 160
|
|
performance_schema_max_table_handles 1000
|
|
performance_schema_max_table_instances 500
|
|
performance_schema_max_thread_classes 50
|
|
performance_schema_max_thread_instances 200
|
|
performance_schema_session_connect_attrs_size 2048
|
|
performance_schema_setup_actors_size 100
|
|
performance_schema_setup_objects_size 100
|
|
performance_schema_users_size 100
|
|
show status like "performance_schema%";
|
|
Variable_name Value
|
|
Performance_schema_accounts_lost 0
|
|
Performance_schema_cond_classes_lost 0
|
|
Performance_schema_cond_instances_lost 0
|
|
Performance_schema_digest_lost 0
|
|
Performance_schema_file_classes_lost 0
|
|
Performance_schema_file_handles_lost 0
|
|
Performance_schema_file_instances_lost 0
|
|
Performance_schema_hosts_lost 0
|
|
Performance_schema_locker_lost 0
|
|
Performance_schema_mutex_classes_lost 0
|
|
Performance_schema_mutex_instances_lost 0
|
|
Performance_schema_rwlock_classes_lost 0
|
|
Performance_schema_rwlock_instances_lost 0
|
|
Performance_schema_session_connect_attrs_lost 0
|
|
Performance_schema_socket_classes_lost 0
|
|
Performance_schema_socket_instances_lost 0
|
|
Performance_schema_stage_classes_lost 0
|
|
Performance_schema_statement_classes_lost 0
|
|
Performance_schema_table_handles_lost 0
|
|
Performance_schema_table_instances_lost 0
|
|
Performance_schema_thread_classes_lost 0
|
|
Performance_schema_thread_instances_lost 0
|
|
Performance_schema_users_lost 0
|
|
update performance_schema.setup_consumers set enabled='NO';
|
|
select event_name,
|
|
left(source, locate(":", source)) as short_source,
|
|
object_type, object_schema,
|
|
if (locate("#sql-", object_name), "#sql-XXXX", object_name)
|
|
as pretty_name,
|
|
operation, number_of_bytes
|
|
from performance_schema.events_waits_history_long
|
|
where event_name like 'wait/io/table/%'
|
|
and object_schema in ("test", "mysql")
|
|
order by thread_id, event_id;
|
|
event_name short_source object_type object_schema pretty_name operation number_of_bytes
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql host fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql roles_mapping fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql tables_priv fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql procs_priv fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE mysql servers fetch NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
|
|
wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL
|
|
show status where Variable_name like 'performance_schema_%' and
|
|
Variable_name not like 'performance_schema_%_classes_lost';
|
|
Variable_name Value
|
|
Performance_schema_accounts_lost 0
|
|
Performance_schema_cond_instances_lost 0
|
|
Performance_schema_digest_lost 0
|
|
Performance_schema_file_handles_lost 0
|
|
Performance_schema_file_instances_lost 0
|
|
Performance_schema_hosts_lost 0
|
|
Performance_schema_locker_lost 0
|
|
Performance_schema_mutex_instances_lost 0
|
|
Performance_schema_rwlock_instances_lost 0
|
|
Performance_schema_session_connect_attrs_lost 0
|
|
Performance_schema_socket_instances_lost 0
|
|
Performance_schema_table_handles_lost 0
|
|
Performance_schema_table_instances_lost 0
|
|
Performance_schema_thread_instances_lost 0
|
|
Performance_schema_users_lost 0
|
|
truncate performance_schema.events_waits_history_long;
|
|
flush status;
|
|
update performance_schema.setup_consumers set enabled='NO';
|
|
truncate performance_schema.events_waits_history_long;
|
|
drop table test.marker;
|
|
flush status;
|
|
update performance_schema.setup_instruments set enabled='YES';
|
|
update performance_schema.setup_consumers set enabled='YES';
|
|
update performance_schema.setup_objects set enabled='NO'
|
|
where object_type='TABLE' and object_schema= 'mysql';
|