本文将介绍 obdiag 工具中参数对比和变量对比功能的适用场景和试用方法。​​​​​​​

obdiag 参数和变量对比功能的适用场景

参数对比功能适用场景

 不同observer对于同一参数允许配置不同的值,实际生产环境中,用户可能因多种原因在不同observer上为同一参数设定了不同的值,进而引发各observer间性能表现的不一致。对于像OceanBase这样的分布式数据库系统而言,识别并审查特定租户所关联的OBSERVER间存在的参数配置差异显得尤为重要。针对这一情况,obdiag推出了参数对比功能来解决这个问题。

变量对比功能适用场景

 OceanBase 的变量不像参数那样可以在不同的observer设置不同的值,但在生产中变量的变化也会对数据库的性能造成很大的影响,尤其是上线前后某个变量的变化也可能造成意料之外的影响,因此对于一线运维来说,掌握特定时间段内变量的变化情况也是非常重要的。针对这一情况,obdiag推出了变量对比功能来帮助运维人员一键找出上线前后变量的变化情况。

参数和变量采集

 比对的基础之一就是要先要有一份原始数据,因此obdiag提供了针对参数和变量的采集功能,可以一键对OB的参数和变量进行采集。

收集参数:obdiag gather parameter

1725168009

命令执行成功后,会在当前执行命令的目录下生成gather_parameters目录,收集的参数信息会以csv的格式保存在gather_parameters目录下。

1725168151

收集变量:obdiag gather variable

1725168212

命令执行成功后,会在当前执行命令的目录下生成gather_variables目录,收集的变量信息会以csv的格式保存在gather_variables目录下。

1725168289

参数对比分析功能

 obdiag的参数对比分析功能目前主要是两个子功能:

•找出非默认值参数

•找出不同observer间参数值不同的参数

找出非默认参数

 由于OB 4.2.2版本之后在参数表中才有默认参数的概念,因此针对OB 4.2.2之前的版本要找出非默认参数,必须先给每个参数定义一个默认值,obdiag通过--file选项指定参数的默认值文件,下面使用OB 4.2.1版本举例说明:

(1)先修改参数

alter system set job_queue_processes=900;

(2)使用obdiag快速找出非默认值参数

obdiag analyze parameter default --file <默认值参数文件>

1725171043

这里使用的是上面采集生成的csv文件作为默认值文件。可以看到,obdiag正确的捕捉到了我们对参数的修改,将默认值和当前值都列了出来。

对于OB 4.2.2之后的版本,则无需添加--file选项,直接使用obdiag analyze parameter default功能即可找出非默认值参数

找出不同observer间参数值不同的参数

(1)修改参数

1725173080

(2)使用obdiag找出observer间参数值不同的参数

obdiag analyze parameter diff

1725173118

obdiag还支持指定参数文件,找出指定的参数文件中不同的observer之间值不同的参数,通过--file选项指定参数文件即可。

1725173290

变量对比分析功能

 obdiag变量对比分析功能主要是找出当前数据库和指定参数文件中的值不一样的变量,以便能快速的定位出指定时间后值发生过变化的变量,比较适合对比上线前后是否有参数值发生过变化的情况。

(1)修改变量

1725174240

(2)使用obdiag找出指定采集时间点后发生变化的参数

obdiag analyze variable diff --file <参数文件>

1725174225

Logo

了解最新的技术洞察和前沿趋势,参与 OceanBase 定期举办的线下活动,与行业开发者互动交流

更多推荐