performance_schema 是 MySQL 数据库中的一个内置的系统数据库,最早从MySQL5.5版本产生,这个数据库主要用于收集和存储与数据库性能相关的统计信息和指标。
使用它可以帮助运维人员对数据库性能监控、调优和故障排查提供依据。
收集的事件数据存储在performanceschema数据库的表中,支持select进行查询。
监视内存使用的表 show tables like '%memory%';
memory_summary_by_account_by_event_name
memory_summary_by_host_by_event_name
memory_summary_by_thread_by_event_name
memory_summary_by_user_by_event_name
memory_summary_global_by_event_name
memory_summary_by_account_by_event_name 主要记录了每个账户和每个事件名称下的内存使用情况,可以通过查询 memory_summary_by_account_by_event_name 表,找出内存使用最多的账户和事件名称,然后针对这些账户和事件名称进行优化。
查询
SELECT * from memory_summary_by_account_by_event_name ;
输出
USER HOST EVENT_NAME COUNT_ALLOC COUNT_FREE SUM_NUMBER_OF_BYTES_ALLOC SUM_NUMBER_OF_BYTES_FREE LOW_COUNT_USED CURRENT_COUNT_USED HIGH_COUNT_USED LOW_NUMBER_OF_BYTES_USED CURRENT_NUMBER_OF_BYTES_USED HIGH_NUMBER_OF_BYTES_USED
root localhost memory/sql/ignored_db 0 0 0 0 0 0 0 0 0 0
root localhost memory/sql/PROFILE 0 0 0 0 0 0 0 0 0 0
root localhost memory/sql/global_system_variables 0 0 0 0 0 0 0 0 0 0
root localhost memory/sql/THD::variables 0 0 0 0 0 0 0 0 0 0
root localhost memory/sql/Security_context 0 0 0 0 0 0 0 0 0 0
root localhost memory/sql/Shared_memory_name 0 0 0 0 0 0 0 0 0 0
字段介绍
memory_summary_by_host_by_event_name记录了每个主机和每个事件名称下的内存使用情况,可以通过查询 memory_summary_by_host_by_event_name 表,找出内存使用最多的主机和事件名称,然后针对这些主机和事件名称进行优化。
查询
SELECT * from memory_summary_by_host_by_event_name ;
输出
HOST EVENT_NAME COUNT_ALLOC COUNT_FREE SUM_NUMBER_OF_BYTES_ALLOC SUM_NUMBER_OF_BYTES_FREE LOW_COUNT_USED CURRENT_COUNT_USED HIGH_COUNT_USED LOW_NUMBER_OF_BYTES_USED CURRENT_NUMBER_OF_BYTES_USED HIGH_NUMBER_OF_BYTES_USED
localhost memory/sql/Owned_gtids::to_string 0 0 0 0 0 0 0 0 0 0
localhost memory/sql/Log_event 0 0 0 0 0 0 0 0 0 0
localhost memory/sql/Incident_log_event::message 0 0 0 0 0 0 0 0 0 0
localhost memory/sql/Rows_query_log_event::rows_query 0 0 0 0 0 0 0 0 0 0
字段介绍
memory_summary_by_thread_by_event_name记录了每个线程和每个事件名称下的内存使用情况,可以通过查询 memory_summary_by_thread_by_event_name 表,找出内存使用最多的线程和事件名称,然后针对这些线程和事件名称进行优化。
查询
SELECT * from memory_summary_by_thread_by_event_name ;
输出
THREAD_ID EVENT_NAME COUNT_ALLOC COUNT_FREE SUM_NUMBER_OF_BYTES_ALLOC SUM_NUMBER_OF_BYTES_FREE LOW_COUNT_USED CURRENT_COUNT_USED HIGH_COUNT_USED LOW_NUMBER_OF_BYTES_USED CURRENT_NUMBER_OF_BYTES_USED HIGH_NUMBER_OF_BYTES_USED
25 memory/vio/read_buffer 0 0 0 0 0 0 0 0 0 0
25 memory/mysys/win_SECURITY_ATTRIBUTES 0 0 0 0 0 0 0 0 0 0
25 memory/mysys/win_PACL 0 0 0 0 0 0 0 0 0 0
25 memory/mysys/win_IP_ADAPTER_ADDRESSES 0 0 0 0 0 0 0 0 0 0
字段介绍
memory_summary_by_user_by_event_name记录了每个用户和每个事件名称下的内存使用情况,可以通过查询 memory_summary_by_user_by_event_name表,找出内存使用最多的用户和事件名称,然后针对这些用户和事件名称进行优化。
查询
SELECT * from memory_summary_by_user_by_event_name;
输出
USER EVENT_NAME COUNT_ALLOC COUNT_FREE SUM_NUMBER_OF_BYTES_ALLOC SUM_NUMBER_OF_BYTES_FREE LOW_COUNT_USED CURRENT_COUNT_USED HIGH_COUNT_USED LOW_NUMBER_OF_BYTES_USED CURRENT_NUMBER_OF_BYTES_USED HIGH_NUMBER_OF_BYTES_USED
root memory/sql/QUICK_INDEX_MERGE_SELECT::alloc 0 0 0 0 0 0 0 0 0 0
root memory/sql/QUICK_ROR_INTERSECT_SELECT::alloc 0 0 0 0 0 0 0 0 0 0
root memory/sql/QUICK_ROR_UNION_SELECT::alloc 0 0 0 0 0 0 0 0 0 0
字段介绍
memory_summary_global_by_event_name记录了每个事件名称下的全局内存使用情况
可以通过查询 memory_summary_global_by_event_name 表,找出内存使用最多的事件名称,然后针对这些事件名称进行优化。
查询
SELECT * from memory_summary_global_by_event_name ;
输出
EVENT_NAME COUNT_ALLOC COUNT_FREE SUM_NUMBER_OF_BYTES_ALLOC SUM_NUMBER_OF_BYTES_FREE LOW_COUNT_USED CURRENT_COUNT_USED HIGH_COUNT_USED LOW_NUMBER_OF_BYTES_USED CURRENT_NUMBER_OF_BYTES_USED HIGH_NUMBER_OF_BYTES_USED
memory/performance_schema/mutex_instances 1 0 131072 0 0 1 1 0 131072 131072
memory/performance_schema/rwlock_instances 4 0 524288 0 0 4 4 0 524288 524288
memory/performance_schema/cond_instances 1 0 16384 0 0 1 1 0 16384 16384
memory/performance_schema/file_instances 1 0 2883584 0 0 1 1 0 2883584 2883584
字段介绍
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。