博客
关于我
MySQL5.7新增Performance Schema表
阅读量:790 次
发布时间:2023-02-11

本文共 2343 字,大约阅读时间需要 7 分钟。

MySQL 5.7 新特性解读:Performance Schema 的扩展与进步

MySQL 5.7.2 到 5.7.3 版本中,Performance Schema(PS)得到了多项重要更新,极大提升了数据库性能监控与分析能力。本文将重点介绍这些新特性,并结合实际场景分析其应用价值。

1. 内存监控(MySQL 5.7.2)

MySQL 5.7.2 引入了内存监控功能,通过 Performance Schema 可以实时监控数据库内存分配与释放情况,具体包括:

  • 监控模块:覆盖 SQL/Performance Schema/Client/VIO/MySQL/SQL/MyISAM/CVS/MEMORY/MyISAMRG/ARCHIVE/BLACKHOLE 等核心模块,其中 SQL 模块贡献了 143 个监控项。
  • 数据汇总表:新增如 memory_summary_by_account_by_event_name 等表格,按账户、主机、用户、事件名等维度分类统计内存使用情况。
  • 关键字段解析
    • COUNT_ALLOC/COUNT_FREE:记录内存分配与释放次数。
    • SUM_NUMBER_OF_BYTES_ALLOC/SUM_NUMBER_OF_BYTES_FREE:统计分配与释放字节数。
    • CURRENT_COUNT_USED/CURRENT_NUMBER_OF_BYTES_USED:反映当前内存使用状态。
    • LOW_COUNT_USED/HIGH_COUNT_USEDLOW_NUMBER_OF_BYTES_USED/HIGH_NUMBER_OF_BYTES_USED:显示内存使用的波动范围。

通过这些表和字段,管理员可以精准了解内存分配与释放的频率及规模,尤其在纯 CPU Bound 场景下,内存分配释放往往成为性能瓶颈。

2. Performance Schema 支持存储过程、函数、触发器及事件调度器(MySQL 5.7.2)

MySQL 5.7.2 进一步扩展了 Performance Schema 的应用场景,新增了对存储过程、函数、触发器及事件调度器的监控支持。具体体现在:

  • 监控事件项:在 setup_instruments 表中新增了如 statement/scheduler/eventstatement/sp/% 的监控项,覆盖存储过程等关键组件。
  • 对象类型配置:通过 setup_objects 表,可配置新的对象类型,包括 PROCEDUREEVENTFUNCTIONTRIGGER 等。
  • 统计字段增强:在相关的统计表中增加了 NESTING_LEVEL 字段,反映操作的嵌套层次。

这些更新使 Performance Schema 能够更全面地监控和分析数据库中的复杂操作,特别是多层嵌套的存储程序执行情况。

3. 复制信息表(MySQL 5.7.2)

MySQL 5.7.2 版本中,Performance Schema 对复制相关表的支持进一步完善,新增了多个与复制相关的监控表,包括:

  • replication_connection_configuration:记录复制任务的配置信息,涵盖主机、端口、用户、网络接口等。
  • replication_connection_status:展示备库 IO 线程的连接状态,包括 UUID、线程 ID、服务状态等。
  • 其他表如 replication_execute_status_by_coordinatorreplication_execute_status_by_worker,用于监控复制任务的执行状态。

这些表为管理员提供了更全面的复制任务监控能力,尤其是在处理大规模复制场景时,可快速定位和解决复制故障。

4. 支持 metadata lock 监控(MySQL 5.7.3)

自 MySQL 5.5 引入 MDL(Metadata Lock)以来,管理员一直对其行为和性能有诸多疑问。MySQL 5.7.3 版本中,Performance Schema 引入了专门的监控表来追踪 MDL 锁状态,具体包括:

  • metadata_locks 表:记录 MDL 锁的相关信息,如锁类型、持锁线程及事件 ID 等。
  • table_handles 表:展示对特定表的锁信息,包括锁类型和外部锁状态。

这些新增功能使管理员能够实时观察 MDL 锁的使用情况,尤其是在执行 mysqldumpxtrabackup 等备份操作时,及时发现和解决可能导致事务阻塞的问题。

5. 新增 transaction 表(MySQL 5.7.3)

MySQL 5.7.3 版本中,Performance Schema 对事务级别的事件进行了监控扩展,新增了 events_transactions_current 等表,用于追踪事务执行情况,具体包括:

  • 事务状态:显示事务的状态,如 ACTIVECOMMITTEDROLLED BACK
  • XA 事务信息:记录 XA 事务的 XID 和状态。
  • 性能指标:包括事务的开始时间、等待时间等。

这些新增功能为数据库管理员提供了更全面的事务监控能力,尤其在处理长时间运行的事务时,能够快速定位性能瓶颈。

总结

MySQL 5.7 系列版本中,Performance Schema 的持续扩展为数据库性能监控与优化提供了更强大的工具。从内存监控到复制信息表,再到 MDL 锁和事务监控,每一项新增功能都为管理员在性能调优和故障排查中提供了更多可能性。未来,随着 Performance Schema 的不断完善,数据库管理将更加智能化和高效。

转载地址:http://znbfk.baihongyu.com/

你可能感兴趣的文章
MySql-2019-4-21-复习
查看>>
mysql-5.6.17-win32免安装版配置
查看>>
mysql-5.7.18安装
查看>>
MySQL-8.0.16 的安装与配置
查看>>
MySQL-Buffer的应用
查看>>
mysql-cluster 安装篇(1)---简介
查看>>
mysql-connector-java.jar乱码,最新版mysql-connector-java-8.0.15.jar,如何愉快的进行JDBC操作...
查看>>
mysql-connector-java各种版本下载地址
查看>>
mysql-EXPLAIN
查看>>
MySQL-Explain的详解
查看>>
mysql-group_concat
查看>>
MySQL-redo日志
查看>>
MySQL-【1】配置
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>
MySQL-数据页的结构
查看>>