基于性能模式的报告通过有用的高级报告提供对 MySQL 服务器操作的洞察。MySQL Workbench 使用性能模式上的 SYS 视图生成 20 多个报告,以帮助分析 MySQL 数据库的性能。报告有助于分析 IO 热点,发现高成本 SQL 语句,以及查看等待统计信息和 InnoDB 引擎指标。有关 SYS 架构的更多信息,请参阅 MySQL sys 架构.
用于配置和微调性能模式检测的 GUI(参见下图)。最初,这将加载一个 简单设置 选项卡,对于大多数用户来说已经足够了。要启用所有可用的性能模式检测工具,将指针设备悬停在 完全启用 上,然后单击滑块上的圆圈。
SYS 架构与 MySQL Server 5.7 及更高版本捆绑在一起,MySQL Workbench 使用该版本。但是,对于 MySQL Server 5.6,Workbench 将安装其自己的捆绑版本 SYS 架构。
保存的摘要查询的大小由 MySQL 服务器确定。
单击 简介 选项卡。
提供了微调性能模式检测工具的方法。下图显示了与高级检测工具相关的选项卡以及选定的可以使用以下控件查看和导出性能报告数据(参见下图)
各个报告按以下组显示
内存使用
总内存
– 显示分配的总内存。按事件排序的顶级内存
– 显示消耗最多内存的事件。按用户排序的顶级内存
– 显示消耗最多内存的用户。按主机排序的顶级内存
– 显示消耗最多内存的主机。按线程排序的顶级内存
– 显示消耗最多内存的线程。
I/O 热点
顶级文件 I/O 活动报告
– 显示 I/O 使用量最大的文件(以字节为单位)。按文件按时间排序的顶级 I/O
– 显示按文件和延迟排序的最高 I/O 使用量。按事件类别排序的顶级 I/O
– 显示按事件类别排序的最高 I/O 数据使用量。按事件类别排序的顶级 I/O 时间
– 显示按事件类别排序的最高 I/O 时间消耗者。按用户/线程排序的顶级 I/O
– 显示按用户和线程排序的顶级 I/O 时间消耗者。
高成本 SQL 语句
语句分析
– 列出具有各种聚合统计信息的语句。按运行时间排名前 5% 的语句
– 列出所有平均运行时间(以微秒为单位)排名前 5% 的语句。使用临时表
– 列出所有使用临时表的语句(访问磁盘临时表的比例最高,然后是内存临时表的比例最高)。带排序
– 列出所有已执行排序的规范化语句(按以下优先级顺序访问:sort_merge_passes
、sort_scans
和sort_rows
)。全表扫描
– 列出已执行全表扫描的语句。访问查询性能和WHERE
子句(或子句)。如果未使用索引,请考虑为大型表添加索引。错误或警告
– 列出已引发错误或警告的语句。
数据库架构统计信息
架构对象概览(高开销)
– 显示每个架构的按对象计数。请注意,对于包含大量对象的实例,此报告可能需要较长时间才能执行。架构索引统计信息
– 显示与索引相关的总体统计信息。架构表统计信息
– 显示与表相关的总体统计信息。架构表统计信息(带 InnoDB 缓冲区)
– 显示具有 InnoDB 缓冲区统计信息的架构表。包含全表扫描的表
– 查找通过全表扫描访问的表,按扫描的行数(降序)排序。未使用索引
– 显示自服务器启动或自 P_S 数据收集开始以来从未使用过的索引列表。
等待事件时间(专家)
按时间排序的全局等待
– 列出按总时间排序的顶级全局等待事件,忽略空闲(这可能不是很大)。按用户按时间排序的等待
– 列出按用户及其总时间排序的顶级等待事件,忽略空闲(这可能不是很大)。按时间排序的等待类别
– 列出按总时间排序的顶级等待类别,忽略空闲(这可能不是很大)。按平均时间排序的等待类别
– 列出按平均时间排序的顶级等待类别,忽略空闲(这可能不是很大)。
InnoDB 统计信息
按架构排序的 InnoDB 缓冲区统计信息
– 汇总INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
表的输出,按架构聚合。按表排序的 InnoDB 缓冲区统计信息
– 汇总INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
表的输出,按架构和表名聚合。
用户资源使用
概览
– 显示每个用户的资源使用概览。I/O 统计信息
– 显示每个用户的 I/O 使用情况。语句统计信息
– 显示每个用户的语句执行统计信息。