网易首页 > 网易号 > 正文 申请入驻

技术分享| MySQL 的 AWR Report?— MySQL 状态诊断报告

0
分享至

作者:秦福朗
爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查。热爱 IT,喜欢在互联网里畅游,擅长摄影、厨艺,不会厨艺的 DBA 不是好司机,didi~
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
引言

用过 Oracle 数据库的同学都知道,在 Oracle 有个功能:AWR(全称为 Automatic Workload Repository),自动负载信息库。它收集关于特定数据库的操作统计信息和其他统计信息,Oracle 以固定的时间间隔(默认为 1 个小时)为其所有重要的统计信息和负载信息执行一次快照,并将快照存放入 AWR 中,为 DBA 们分析数据库提供了非常好的便利条件。虽然 MySQL 没有这么强的功能,但 MySQL 有一个类似的,名叫 diagnostics 的存储过程,提供了相类似的功能。

diagnostics() 存储过程是利用 MySQL 自身的 information_schema,performance_schema、sys 等元数据信息及性能数据信息的库表函数等,对当前服务器状态进行诊断,提供给 DBA 一份可以用于分析数据库状态的报告。

基本包含信息

diagnostics() 收集的数据主要包含以下信息:

  • • 来自 metrics 视图的信息;

  • • 来自其他相关的 sys schema 视图的信息,比如检测第 95 百分位数的查询视图;

  • • 如果是 NDB Cluster 的 MySQL 服务器,则还会有 ndbinfo schema 的信息;

  • • 主从复制状态信息

一些 sys schema 的视图被计算为初始(可选)、overall 和 delta:

  • • 初始视图是 diagnostics() 过程开始时的视图内容。这个输出与用于 delta 视图的起始值相同。如果 diagnostics.include_raw 配置选项为 ON,则初始视图会被包含在报告中。

  • • overall 视图是 diagnostics() 过程结束时的视图内容。这个输出与用于 delta 视图的结束值相同。overall 视图总是被包含在报告内。

  • • delta 视图是 procedure 执行开始到结束的差异。最小值和最大值分别是结束视图的最小值和最大值。它们不一定反映监控期间的最小值和最大值。除了 metrics 视图外,Delta 仅计算第一个和最后一个输出之间的差值。

注意:
这个存储过程通过操作 sql_log_bin 系统变量的会话值,在执行过程中禁用二进制日志。这是一个受限制的操作,所以这个存储过程需要有足够的权限来设置受限制的会话变量。
命令示例

方式 1:

创建一个诊断报告,使用 current Performance Schema 设置,每 30 秒启动一次迭代,最多运行 120 秒:

mysql> CALL sys.diagnostics(120, 30, 'current');

要在 diagnostics() 过程运行时将其输出内容捕获到文件中,可使用 MySQL 客户端 tee 文件名和 notee 命令:

mysql> tee diag.out;
mysql> CALL sys.diagnostics(120, 30, 'current');
mysql> notee;

此方式生成表格样式如下:

方式 2:

shell> mysql -uroot -p -S /opt/mysql/data/6666/mysqld.sock -H -e "CALL sys.diagnostics(120, 30, 'current');" >report.html

此方式生成网页样式如下:

参数

CALL sys.diagnostics( in_max_runtime, in_interval, 'current');

  • • in_max_runtime (INT UNSIGNED):最大数据采集时间,单位为秒。默认值为 60 秒,自定义需使用大于 0 的值。

  • • in_interval (INT UNSIGNED):数据采集之间的休眠时间,单位为秒。默认值为 30 秒,自定义需使用大于 0 的值。

  • • in_auto_config ENUM('current', 'medium', 'full'): 要使用的 Performance Schema 配置。允许的值有:

    • • current:使用当前的 instrumen 和 consumers 设置。

    • • medium:启用部分 instrumen 和 consumers。

    • • full:启用所有 instrumen 和 consumers。

注意:
有关 Performance Schema 模式下的 instrumen 和 consumer 的概念与基本使用原理可自行查阅资料,本文不再赘述。
启用的 instrumen 和 consumer 越多,对 MySQL 服务器性能影响越大。要小心使用 medium 设置,尤其是 full 设置,对性能影响较大。没特殊要求使用 current 即可。

使用 medium 或 full 设置需要 super 权限,如果选择了 current 以外的设置,则会在程序结束时恢复当前设置。

配置选项

diagnostics() 操作可以使用下面的配置选项或者其对应的用户定义变量:

以下参数需新增或修改 sys.sys_config,具体用法可了解 MySQL 官方文档 sys_config 一节。

  • • debug, @sys.debug

如果该选项为 ON,则产生调试输出。默认值为 OFF。

UPDATE `sys`.`sys_config` SET `value` = 'ON' WHERE `variable` = 'debug';

  • • diagnostics.allow_i_s_tables, @sys.diagnostics.allow_i_s_tables

如果这个选项为 ON,那么 diagnostics() 过程就被允许在 INFORMATION_SCHEMA.TABLES 表上执行表扫描。如果有很多表,这可能会有较高的代价。默认值是 OFF。

UPDATE `sys`.`sys_config` SET `value` = 'ON' WHERE `variable` = 'diagnostics.allow_i_s_tables';

  • • diagnostics.include_raw, @sys.diagnostics.include_raw 如果这个选项为 ON,则 diagnostics() 过程的输出包括查询 metrics 视图的原始输出。默认值是 OFF。

UPDATE `sys`.`sys_config` SET `value` = 'ON' WHERE `variable` = 'diagnostics.include_raw';

  • • statement_truncate_len, @sys.statement_truncate_len

format_statement() 函数返回的语句的最大长度。较长的语句会被截断到这个长度。默认值是 64。

UPDATE `sys`.`sys_config` SET `value` = '32' WHERE `variable` = 'statement_truncate_len';

报告信息

(1)MySQL 服务器基本信息

(2)基本配置信息

  • • 参数配置

  • • Performance Schema 下的 instrumen 与 consumer 配置情况

(3)sys schema初始状态

(4)每次迭代的信息

和命令给定的迭代周期与次数有关

(5)Schema 信息

(6)Overall 状态信息

(7)Delta 状态信息

因篇幅长度,以上只是列出部分信息,具体信息可以自行实践了解,文档末尾附上一份报告链接,可下载审阅。

结语

diagnostics() 包含的信息很多,可实现“一键”数据库性能信息状态诊断并输出报告,帮助 DBA 在实际工作中便捷地分析数据库状态。

附链接:
sys_config:https://dev.mysql.com/doc/refman/8.0/en/sys-sys-config.html
诊断报告示例:
链接:https://pan.baidu.com/s/1XEV2Jf9qe9-dpi-8IN_6UQ 提取码:3306

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“老炮”底线犹存!贾国龙拒借公权力打压罗永浩,仍令人高看一眼

“老炮”底线犹存!贾国龙拒借公权力打压罗永浩,仍令人高看一眼

瑜说还休
2026-01-19 11:57:40
言出必行!邵佳一履行承诺,国足做出2项调整,相中7位U23新星

言出必行!邵佳一履行承诺,国足做出2项调整,相中7位U23新星

国足风云
2026-01-26 10:09:36
一土匪被捕后提出要见高岗:二十年前在陕北,刘志丹曾我的副团长

一土匪被捕后提出要见高岗:二十年前在陕北,刘志丹曾我的副团长

历史甄有趣
2026-01-27 09:30:06
江苏一婆婆打扮精致像未婚,儿媳羡慕不来:公公比我老公有实力

江苏一婆婆打扮精致像未婚,儿媳羡慕不来:公公比我老公有实力

唐小糖说情感
2026-01-25 00:08:43
三星宣布再涨价100%!

三星宣布再涨价100%!

中国半导体论坛
2026-01-26 15:07:00
小登、中登和老登

小登、中登和老登

锦缎研究院
2026-01-27 07:51:10
曾不顾恩师反对,常昊执意娶大8岁师姑为妻,后来两人过得怎样?

曾不顾恩师反对,常昊执意娶大8岁师姑为妻,后来两人过得怎样?

秋姐居
2026-01-19 22:01:43
89年女老师来我家要账,我没钱还,她红脸:要不你当我男人

89年女老师来我家要账,我没钱还,她红脸:要不你当我男人

云端小院
2026-01-27 09:11:40
拔出萝卜带出泥!葛晓倩再爆张雨绮猛料,这一次杨天真瞒不住了

拔出萝卜带出泥!葛晓倩再爆张雨绮猛料,这一次杨天真瞒不住了

阿废冷眼观察所
2026-01-27 03:07:59
米莱最新对华表态,让外界大吃一惊!中方的忠告,阿根廷听懂了?

米莱最新对华表态,让外界大吃一惊!中方的忠告,阿根廷听懂了?

云舟史策
2026-01-26 07:13:29
大布一旦离婚寸草不留,赘婿被豪门榨干,这智商居然还手撕爹妈?

大布一旦离婚寸草不留,赘婿被豪门榨干,这智商居然还手撕爹妈?

记录生活日常阿蜴
2026-01-27 07:00:52
癌症去世的人越来越多?医生反复叮嘱:宁可打打牌,也别做这5事

癌症去世的人越来越多?医生反复叮嘱:宁可打打牌,也别做这5事

医学原创故事会
2026-01-25 22:54:04
炸了!集体逼空暴涨

炸了!集体逼空暴涨

君临财富
2026-01-26 20:39:13
不敢置信!女子十二乐坊成员直播养不活自己,一晚上打赏不到3000

不敢置信!女子十二乐坊成员直播养不活自己,一晚上打赏不到3000

云中浮生
2026-01-24 21:37:46
隐忍24年,陈婷终于撕下完美伪装,她给所有“已婚女人”上了一课

隐忍24年,陈婷终于撕下完美伪装,她给所有“已婚女人”上了一课

瓜汁橘长Dr
2025-12-30 17:03:39
内地生赴港读书潮催热“宿舍生意”,学生公寓成香港当红投资标的

内地生赴港读书潮催热“宿舍生意”,学生公寓成香港当红投资标的

每日经济新闻
2026-01-26 20:58:07
朝汉通婚有多猛?为什么朝鲜族、汉族通婚率,超70%?

朝汉通婚有多猛?为什么朝鲜族、汉族通婚率,超70%?

顾史
2026-01-26 16:42:48
账户里突然多了20万!女子10年前买的10万元白银被彻底遗忘 现在市值接近32万元

账户里突然多了20万!女子10年前买的10万元白银被彻底遗忘 现在市值接近32万元

闪电新闻
2026-01-26 12:02:06
董路:杨毅说40分钟收6块8 我苦哈哈聊4小时才收8块8 回头我涨价

董路:杨毅说40分钟收6块8 我苦哈哈聊4小时才收8块8 回头我涨价

风过乡
2026-01-27 07:06:46
好兄弟,勇士格林证实波德齐姆斯基与克莱·汤普森之间尴尬互动

好兄弟,勇士格林证实波德齐姆斯基与克莱·汤普森之间尴尬互动

好火子
2026-01-27 07:02:53
2026-01-27 10:12:49
爱可生云数据库
爱可生云数据库
企业数据处理技术整体解决方案
411文章数 20关注度
往期回顾 全部

科技要闻

理想开始关店“过冬”,否认“百家”规模

头条要闻

英国首相访华前高调表态:前几任首相不去中国是失职

头条要闻

英国首相访华前高调表态:前几任首相不去中国是失职

体育要闻

带着母亲遗愿战斗12年,交易添头成了队魂

娱乐要闻

张雨绮被抵制成功!辽视春晚已将她除名

财经要闻

金价狂飙 “牛市神话”未完待续

汽车要闻

宾利第四台Batur敞篷版发布 解锁四项定制创新

态度原创

本地
健康
教育
家居
旅游

本地新闻

云游中国|格尔木的四季朋友圈,张张值得你点赞

耳石脱落为何让人天旋地转+恶心?

教育要闻

中国民航大学空管学院,就业崩了?

家居要闻

流韵雅居,让复杂变纯粹

旅游要闻

各地解锁冰雪旅游新玩法 打造经济新增长点

无障碍浏览 进入关怀版