本文介绍 gv$sysstat 中展示的租户指标值与租户 Unit 分布的机器不匹配的可能原因。
问题现象
在 2:2:2 架构的集群中,租户 A 的 unit num 为 1,即租户 A 的 Unit 只会分布在 3 台机器(每个 Zone 各一台)上。但是通过 gv$sysstat 查询,该租户的某个指标(比如 disk read count)采集了 6 台机器的数据,且 6 台机器都存在不为 0 的值(正常情况应该为 3 台为 0,3 台不为 0,因为 Unit 只会在 3 台机器上)。
为什么通过 gv$sysstat 视图查询该租户的某个指标,采集的是 6 台机器?
在 OceanBase 数据库中,针对某一个指标,开始会收集当前集群内所有机器的记录。而对于没有 Unit 的记录,一般为 0,这是预期行为。因此,在 gv$sysstat 中查看该租户的某个指标时,可能会看到采集的是 6 台机器的数据。
为什么 gv$sysstat 视图中 6 台机器都存在不为 0 的值?
其他机器上存在某个指标的变化,需要关注该变化是否一直存在。建议多次执行查询操作,观察可疑主机的指标值是否保持不变。如果可疑主机的指标值保持不变,说明该 Unit 可能在该主机上曾经存在过,但是目前已经不存在了。这也是预期行为。
适用版本
OceanBase 数据库 V2.2.77 版本。