首批通过分布式安全可靠测评,为关键业务系统打造
收集SQL性能问题信息
更新时间:2026-04-15 12:36:08
本文适用于独立部署 obdiag 的场景,可以一键执行将SQL性能问题排查所需要的排查信息统一捞回,解决分布式节点信息捞取难的痛点。
前提条件
需要确保已经在 obdiag 配置文件 config.yml 中配置好需要收集节点的登录信息。相关的详细配置介绍,参见obdiag 配置
使用说明
obdiag gather scene run --scene=observer.perf_sql [options]
选项说明如下:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --scene | 是 | string | 默认为空 | 场景名,可以通过obdiag gather scene list 查看当前版本支持哪些场景 |
| --env | 是 | string | 默认为空 | 该场景需要额外的参数才能支持,统一放到了--env这个参数里边 |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径。 |
| -c | 否 | string | ~/.obdiag/config.yml |
配置文件路径 |
使用示例
# SQL性能问题信息收集,默认不需要添加任何参数的话收集最近30分钟的信息
obdiag gather scene run --scene=observer.perf_sql --env "{db_connect='-h127.0.0.1 -P2881 -utest@test -p****** -Dtest', trace_id='Yxx'}"
结果解读
命令执行后在指定目录下会生成一个文件夹,文件夹形如: obdiag_gather_pack_20240808105846
#tree
.
├── ob_log_xx.xx.xx.xx_20240611190059_20240611193159.zip # 日志信息
├── resources
│ └── web
│ ├── bootstrap.min.css
│ ├── bootstrap.min.js
│ ├── jquery-3.2.1.min.js
│ └── popper.min.js
├── result_summary.txt
├── sql_result.txt # 问题排查的时候所需 SQL 信息
└── sql_plan_monitor_report.html # SQL性能问题排查报告
实践案例
案例:用户发生SQL性能问题,需要排查,直接执行如下命令将诊断所需的信息打包好,发给社区论坛或者前线支持人员
obdiag gather scene run --scene=observer.perf_sql --env "{db_connect='-h127.0.0.1 -P2881 -utest@test -p****** -Dtest', trace_id='Yxx'}