赞
赏
MySQL 的 performance_schema 数据库用于监控 MySQL server 在一个较低级别的运行过程中的资源消耗、资源等待等情况。
MySQL performance_schema 是 MySQL 5.5 开始新增的,库里表的存储引擎均为 PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为 PERFORMANCE_SCHEMA 的表。MySQL5.5 默认是关闭的,需要手动开启,在配置文件里添加:performance_schema=ON。 从 MySQL5.6 开始,默认打开。
首先,我们使用 Mysql use 命令,切换到 mysql performance_schema 数据库,命令如下:
mysql> use performance_schema;
切换成功后,终端显示如下:
我们再次使用 show tables 命令,查看 mysql performance_schema 数据库里面所有的表定义:
mysql> show tables;
此时终端显示如下:
表名称 | 说明 |
---|---|
setup_actors | 配置用户纬度的监控,默认监控所有用户。 |
setup_consumers | 配置 events 的消费者类型,即收集的 events 写入到哪些统计表中。 |
setup_instruments | 配置具体的 instrument,主要包含4大类:idle、stage/xxx、statement/xxx、wait/xxx。 |
setup_objects | 配置监控对象,默认对mysql,performance_schema 和 information_schema 中的表都不监控,而其它DB的所有表都监控。 |
setup_actors | 配置用户纬度的监控,默认监控所有用户。 |
setup_timers | 配置每种类型指令的统计时间单位。MICROSECOND表示统计单位是微妙,CYCLE表示统计单位是时钟周期,时间度量与CPU的主频有关,NANOSECOND表示统计单位是纳秒。 |
表名称 | 说明 |
---|---|
cond_instances | 条件等待对象实例 |
file_instances | 文件实例 |
mutex_instances | 互斥同步对象实例 |
rwlock_instances | 读写锁同步对象实例 |
socket_instances | 活跃会话对象实例 |
表名称 | 说明 |
---|---|
events_waits_current | 记录了当前线程等待的事件 |
events_waits_history | 记录了每个线程最近等待的10个事件 |
events_waits_history_long | 记录了最近所有线程产生的10000个事件 |
表名称 | 说明 |
---|---|
users | 记录用户连接数信息。 |
hosts | 记录了主机连接数信息。 |
accounts | 记录了用户主机连接数信息。 |
表名称 | 说明 |
---|---|
events_waits_summary_global_by_event_name | 按等待事件类型聚合,每个事件一条记录。 |
events_waits_summary_by_instance | 按等待事件对象聚合,同一种等待事件,可能有多个实例,每个实例有不同的内存地址。 |
events_waits_summary_by_thread_by_event_name | 按每个线程和事件来统计,thread_id+event_name 唯一确定一条记录。 |
events_stages_summary_global_by_event_name | 按事件阶段类型聚合,每个事件一条记录。 |
events_stages_summary_by_thread_by_event_name | 按每个线程和事件来阶段统计。 |
events_statements_summary_by_digest | 按照事件的语句进行聚合。 |
events_statements_summary_global_by_event_name | 按照事件的语句进行聚合。 |
events_statements_summary_by_thread_by_event_name | 按照线程和事件的语句进行聚合。 |
file_summary_by_instance | 按事件类型统计。 |
file_summary_by_event_name | 具体文件统计。 |
table_io_waits_summary_by_table | 根据wait/io/table/sql/handler,聚合每个表的 I/O 操作。 |
table_io_waits_summary_by_index_usage | 按索引维度统计。 |
table_lock_waits_summary_by_table | 聚合了表锁等待事件,包括 internal lock 和 external lock。 |
socket_summary_by_instance、socket_summary_by_event_name | socket聚合统计表 |
performance_timers | 系统支持的统计时间单位。 |
threads | 监视服务端的当前运行的线程。 |
MySQL 的 performance_schema 数据库用于监控 MySQL server 在一个较低级别的运行过程中的资源消耗、资源等待等情况。