暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【ACDU 翻译】 MySQL PMM 查询分析

原创 由迪 2021-11-01
645

查询分析仪表板显示了如何查询执行,并在那里消磨时间。它可以帮助您随着时间的推移分析数据库查询、优化数据库性能以及查找和修复问题的根源。


图片


查询分析支持 MySQL、MongoDB 和 PostgreSQL。MySQL 的最低要求是:

  • MySQL 5.1 或更高版本(如果使用慢查询日志)。
  • MySQL 5.6.9 或更高版本(如果使用 Performance Schema)。

Query Analytics 以可视化和数字形式显示指标。与性能相关的特征显示为带有摘要的绘制图形。

仪表板包含三个面板:

Query Analytics 数据检索不是即时的,可能会因网络状况而延迟。在这种情况下,不会报告任何数据,并且迷你图中会出现间隙。

过滤器面板


图片


  • 过滤器面板位于仪表板的左侧。它列出了按类别分组的过滤器。选择一项将概述列表减少到与过滤器匹配的那些项目。
  • 显示了每个类别的前五个。如果还有更多,则通过单击类别名称旁边的Show all来展开列表,并再次折叠为Show top 5
  • 应用过滤器可能会使其他过滤器不适用。它们变灰且不活动。
  • 单击图表符号  直接导航到项目的关联仪表板。
  • 另外,全局时间范围设置按时间过滤结果,您可以选择绝对时间范围或预定义的相对时间范围之一


图片


概览面板

在过滤器面板的右侧并占据仪表板的上部是概览面板。


图片


表的每一行代表所选对象类型的指标,其中之一:

  • 询问;
  • 服务名称;
  • 数据库;
  • 架构;
  • 用户名;
  • 客户端主机。

第二列的顶部是维度菜单。使用它来选择对象类型。


图片


维度列的右侧是维度搜索栏。


图片


输入一个字符串并按 Enter 以将视图限制为仅包含指定关键字的查询。

删除搜索文本并按 Enter 再次查看完整列表。

  • 第一列是对象的标识符。对于Query,它是查询的Fingerprint
  • 第二列是主要指标,包含指标随时间的简化图形表示(称为迷你图)和水平仪表,填充以反映总值的百分比。
  • 附加值显示为鼠标悬停工具提示。

工具提示

  • 对于查询维度,将鼠标悬停在信息图标上 显示查询 ID 及其示例。
  • 将鼠标悬停在列标题上会显示该列的信息工具提示。
  • 将鼠标悬停在主要指标迷你图上会突出显示数据点,工具提示会显示光标下的数据值。


图片


  • 将鼠标悬停在主要指标上会显示总数的百分比以及特定于主要指标的其他详细信息。


    图片


  • 将鼠标悬停在列值上会显示有关该值的更多详细信息。内容取决于值的类型。


    图片


添加和删除列

  • 使用添加列按钮添加度量列。


    图片


  • 单击时,会显示一个文本字段和可用指标列表。选择指标或输入搜索字符串以缩小列表。选择一个指标会将其添加到面板中。

  • 通过单击列标题并选择删除列删除度量
  • 可以通过单击度量列标题并选择与主要度量交换来更改主度量列中绘制的值。

排序

  • 整个列表按其中一列排序。
  • 单击向上或向下插入符号以按该列的升序或降序值对列表进行排序。

分页

  • 分页设备可让您在页面中向前或向后移动、跳转到特定页面以及选择每页列出的项目数。


    图片


  • 查询分为 25、50 或 100 个项目的页面。

详细信息面板

详细信息选项卡

详细信息选项卡包含查询时间分布栏(仅适用于MySQL数据库)和一组指标在可折叠的子面板。


图片


  • 查询时间分布栏显示查询的总时间由彩色部分,占的花费在一个名为活动时间的比例将各段。

    • query_time: 语句执行时间。
    • lock_time: 是时候获取锁了。
    • blk_read_time:语句读取块所花费的总时间(如果track_io_timing启用,否则为零)。
    • blk_write_time:语句写入块所花费的总时间(如果track_io_timing启用,否则为零)。
    • innodb_io_r_wait: InnoDB 从存储读取数据的时间。
    • innodb_queue_wait:查询等待进入 InnoDB 队列或等待执行所花费的时间。
    • innodb_rec_lock_wait:查询等待行锁的时间。
    • other: 剩余未分类查询时间。
  • 指标是一个带有标题的表格:

    • 指标:指标名称,带有问号工具提示,显示鼠标悬停时的指标描述;
    • Rate/Second:单位时间实时值的迷你图;
    • Sum : 所选查询指标的总和,以及占总数的百分比;
    • Per Query Stats:每个查询的指标值。
  • 表中的每一行都是一个指标。内容取决于所选的维度。

示例选项卡

(对于查询维度。)

实施例选项卡显示所选择的查询的指纹或表元素的实例。


图片


查询示例和指纹可以被截断为 1024 长以减少空间使用。在这种情况下,查询解释部分将不起作用。

解释标签

(对于查询维度。)

解释选项卡显示explain输出所选查询,在经典或JSON格式。

  • MySQL:经典和 JSON。
  • MongoDB:仅 JSON。
  • PostgreSQL:不支持。

MongoDB 的“解释”

要运行 Explain,您需要与执行原始查询相同的权限。例如,要运行解释,updates您需要更新权限。

示例:授予explainRole具有更新权限。

db.grantPrivilegesToRole( "explainRole", [ { resource: { db: "", collection: "" }, actions: [ "update" ] } ])


图片


表格选项卡

(对于查询维度。)

表”选项卡显示有关所选查询中涉及的表和索引的信息。


图片


MongoDB 的查询分析

MongoDB 在概念上不同于关系型数据库管理系统,例如 MySQL 和 MariaDB。

关系数据库管理系统将数据存储在表示单个实体的表中。复杂对象由链接表表示。

相比之下,MongoDB 使用文档的概念,其中复杂对象的所有基本信息都存储在一个地方。

Query Analytics 可以监控 MongoDB 查询。尽管 MongoDB 不是关系数据库管理系统,但您可以使用相同的工具在相同的界面中分析其数据库和集合。

  •  页面更新 2021-09-21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论