util.debug.collectHighLoadDiagnostics()
在您的 MySQL 服务器上运行诊断报告的多次迭代,使您能够在负载下分析服务器的多个方面。
高负载诊断报告以 zip 文件的形式生成到本地目录或指定路径。
该实用程序生成 TSV 和 YAML 格式的文件。
诊断实用程序具有以下签名:
util.debug.collectHighLoadDiagnostics(path, {options})
以下示例将 zip 文件写入用户的临时目录,执行 5 次收集迭代,并启用所有 Performance Schema 工具和消费者:
util.debug.collectHighLoadDiagnostics("/home/userName/temp/highLoad.zip", {iterations: 5, pfsInstrumentation: "full"})
此实用程序返回的数据还包括 收集的数据util.debug.collectDiagnostics()
。
- 迭代次数:次数
默认值为 2。高负载诊断数据收集的迭代次数。
- 延迟:数字
默认值为 300 秒。高负载诊断数据收集迭代之间的秒数。
- innodbMutex:[真 | 错误的]
-
默认为假。如果设置为 true,
SHOW ENGINE INNODB MUTEX
则收集的输出。笔记此参数会影响性能。
- pfsInstrumentation:[当前 | 介质 | 满的]
-
默认为当前。定义使用哪些 Performance Schema 工具和消费者。可能的值是:
current
:当前启用的 Performance Schema 工具和消费者。不会对您的服务器配置进行任何更改。medium
%history
: 启用除and 之外的所有消费者%history_long
,以及除 之外的所有工具wait/synch/%
。full
:启用所有消费者和所有仪器。
-
自定义SQL:
array
-
要运行的一个或多个 SQL 语句。您可以控制何时使用以下前缀运行语句:
PRE
: 默认。该语句在指标收集迭代开始之前运行一次。POST
:该语句在指标收集迭代完成后运行一次。ITER
:该语句针对指标集合的每次迭代运行一次。
-
定制外壳
array
-
要运行的一个或多个 Shell 命令。您可以控制何时使用以下前缀运行命令:
BEFORE
: 默认。该语句在指标收集迭代开始之前运行一次。DURING
:该语句针对指标集合的每次迭代运行一次。AFTER
:该语句在指标收集迭代完成后运行一次。