11.7.3collectSlowQueryDiagnostics实用程序

2024年 4月 24日 44.3k 0

  • 关于实用程序
  • 要求和限制
  • 运行实用程序
  • 收集诊断信息的选项

关于实用程序

util.debug.collectSlowQueryDiagnostics()在 MySQL 服务器上运行多次迭代的诊断报告,使您能够在处理指定查询时分析服务器的多个方面。

诊断报告以 zip 文件形式生成到本地目录或指定路径。

该实用程序生成 TSV 和 YAML 格式的文件。

要求和限制

以下要求适用于使用诊断收集实用程序的导出:

  • 需要 MySQL 5.7 或更高版本。
  • 该实用程序必须以 root 身份运行。

运行实用程序

诊断实用程序具有以下签名:

util.debug.collectSlowQueryDiagnostics("path", "query", {options})

笔记

此实用程序返回的数据还包括util.debug.collectDiagnostics() 和收集的默认数据util.debug.collectHighLoadDiagnostics()

  • "*path*":诊断存档写入的位置。如果为空,则写入当前目录。

    "*query*":要分析的 SQL 查询。

    "*options*":可选参数的字典。请参阅 收集诊断信息的选项。

除了诊断内容外 util.debug.collectHighLoadDiagnostics()util.debug.collectSlowQueryDiagnostics还收集以下信息:

  • EXPLAIN查询的输出 。
  • 查询的优化器跟踪。
  • 查询中使用的表的 DDL。
  • 查询生成的警告。

收集诊断信息的选项

  • 延迟:*number*

    数据收集迭代之间等待的秒数。默认值为 30。仅当定义的查询运行时才会收集数据。当查询完成时,数据收集停止。

  • innodbMutex: true |错误的

    如果为 true,还收集 的输出SHOW ENGINE INNODB MUTEX。默认情况下禁用此命令,因为它可能会影响生产性能。

  • pfsInstrumentation:[当前|中等|满的]

    定义使用哪些性能模式工具和消费者。可能的值为:current: 默认。当前启用的性能模式工具和消费者。不会对您的服务器配置进行任何更改。medium``%history:启用除和 之外 的所有消费者 %history_long以及除 之外的所有仪器wait/synch/%full:支持所有消费者和所有仪器。

  • 自定义Sql:*array*

    要运行的一个或多个 SQL 语句。您可以使用以下前缀控制语句的运行时间:BEFORE,或什么也不做:默认。自定义 SQL 在指标收集迭代开始之前运行一次。AFTER:自定义 SQL 在指标收集迭代完成后运行一次。DURING:自定义 SQL 对于指标集合的每次迭代运行一次。例如:{"customSql": ["statement1", "statement2", "statement3"]}

  • 自定义外壳:*array*

    要运行的一个或多个 shell(DOS、BOURNE 等)命令。您可以使用以下前缀控制命令的运行时间:BEFORE: 默认。在指标收集迭代开始之前,命令运行一次。DURING:命令针对指标集合的每次迭代运行一次。AFTER:在指标收集迭代完成后,命令运行一次。例如:{"customShell": ["command1", "command2", "command3"]}重要的这些命令以运行 MySQL Shell 的用户的权限运行,应谨慎使用。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论