目录
使用状态变量监控MySQL
使用性能模式(Performance Schema)监控MySQL
1.性能模式
2.性能模式设置表
3.sys模式
使用状态变量监控MySQL
使用 show status 语句评估系统运行状况。
- 可以添加范围修饰符global或session来显示全局或本地状态信息。【show global/session status】
- 还可以查询 Performance Schema 数据库的 global_status 或 session_status 表。【select * from performance_schema.session_status】
- 还可以用带有选项的 mysqladmin 命令行程序监控MySQL:状态信息 mysqladmin status;服务器状态变量及其值(等同于 show global status) mysqladmin extended-status。
- 如果没有指定修饰符,则默认session。
使用性能模式(Performance Schema)监控MySQL
1.性能模式
Performance Schema 是 MySQL 内置的性能监控系统,它通过内存表的形式提供服务器内部运行的详细指标。它并不像 InnoDB 或 MyISAM 那样用于存储用户数据,而是用于收集 MySQL 内部的各种性能指标,例如 SQL 语句执行时间、锁等待、线程状态、I/O 操作等。
performance_schema
数据库中的表由 PERFORMANCE_SCHEMA
存储引擎支持;内存表特性:所有数据存储在内存中,不持久化到磁盘;零磁盘I/O:监控数据不写入磁盘,减少性能影响。
可以查询 performance_schema
数据库中的表,来分析和了解 MySQL 的运行情况,比如:
- 当前正在执行的查询
- I/O 等待时间统计(哪些查询花费了最多的 I/O 资源)
- 历史性能数据(分析过去的数据库活动)
只有在编译 MySQL 时启用了 Performance Schema 选项,才可以使用这个功能。在 MySQL 启动时,可以通过 performance_schema
变量显式地启用或禁用 Performance Schema。
mysqld --performance_schema=ON
2.性能模式设置表
- setup_actors:监控哪些前台线程(客户端连接)
- setup_objects:监控哪些数据库对象(表、存储过程、触发器、事件)
- setup_threads:检测哪些线程类
- setup_instruments:性能模式收集哪些服务器度量
- setup_consumers:检测事件的存储位置
3.sys模式
性能模式中有许多检测和表,可能很难知道要监控哪个。sys模式用来简化数据库性能监控和优化。帮助数据库管理员解释典型调优和诊断用例的性能模式。提供了:
- 视图:将性能模式数据汇总为更易于理解的格式
- 存储过程:协助数据库管理员配置性能模式并生成诊断报告
- 存储函数:查询性能模式配置并以不同方式格式化输出