Skip to content

pt-mext

并排对比多份 MySQL SHOW GLOBAL STATUS 采样结果。

语法

bash
pt-mext [OPTIONS] -- COMMAND

mysqladmin extended 等程序的重复输出列化(columnize)显示。

mysqladmin 获取输出:

bash
pt-mext -r -- mysqladmin ext -i10 -c3

从文件获取输出:

bash
pt-mext -r -- cat mysqladmin-output.txt

用法示例

以下命令依靠 mysqladmin 已有的连接配置(选项文件或本机 socket)来取 SHOW GLOBAL STATUSpt-mext 本身不直接连库,只负责把 COMMAND 的重复输出并排整理。命令可直接复制,替换其中的采样间隔、次数与关注指标即可。

场景:只看关键指标的差值

-r 把相邻采样相减,再配合 grep 只保留想观察的计数器(如 QPS、连接数、慢查询),避免被几百行状态淹没:

bash
pt-mext -r -- mysqladmin ext -i10 -c3 | grep -iE 'Queries|Threads_connected|Slow_queries'

场景:定位连接数是否暴涨

每 2 秒采一次、共 5 次,并排看 Threads_* 系列的变化趋势,快速判断是否有连接泄漏或突发:

bash
pt-mext -r -- mysqladmin ext -i2 -c5 | grep -iE 'Threads_(connected|running|created)'

场景:观察缓冲池读压力

盯住 Innodb_buffer_pool_read*,看逻辑读命中与物理读的增长差,判断是否该扩容缓冲池:

bash
pt-mext -r -- mysqladmin ext -i5 -c3 | grep -iE 'Innodb_buffer_pool_read'

场景:先抓快照再离线分析

高峰期不便一直开着采样时,先把多次采样落盘,事后再用 pt-mext 并排分析:

bash
mysqladmin ext -i10 -c5 > mysqladmin-output.txt
pt-mext -r -- cat mysqladmin-output.txt

功能说明

pt-mext 执行你指定的命令(COMMAND),逐行读取其输出并把每一行写入一个临时文件。 遇到空行时,认为新一次 SHOW GLOBAL STATUS 采样开始,于是创建新的临时文件。 处理结束后,它把所有临时文件并排连接在一起并打印结果。 如果指定了 --relative 选项,打印前会先用后一次采样减去前一次采样(求差值)。

选项

选项说明
--help显示帮助并退出
-r, --relative每列减去前一列(显示差值而不是原始值)
--version显示版本并退出

其他信息

  • 系统要求:需要 Bourne shell(/bin/sh)和 seq 程序。

  • 环境变量:本工具不使用环境变量(所有 Percona Toolkit 工具均支持 PTDEBUG=1 调试,注意调试输出会暴露命令行中的密码)

  • 通用说明:已知问题的反馈方式、PTDEBUG 调试安全提示、系统要求基线,见 通用说明

更多细节请阅读 官方文档

Percona Toolkit 中文文档 · 社区维护的第三方学习站