sys租户ocp_monitor用户查询占用大量io

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】sys租户ocp_monitor用户查询占用大量io
【复现路径】文档复现
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

1 个赞

针对您描述的情况,建议使用 obdiag 工具进行日志采集,特别是关注 IO 相关的信息。这样可以帮助我们更好地理解为什么 ocp_monitor 用户在 sys 租户下执行查询操作时会占用大量 IO 资源。

日志采集场景: IO 问题
日志采集命令: obdiag gather scene run --scene=observer.io

请您执行上述命令进行日志采集,并将采集到的日志提供给我们以便进一步分析。

另外,为了能够更准确地定位和解决问题,需要您提供一些额外的信息:

  1. 您当前使用的 OceanBase 版本是什么?
  2. 发生该现象的具体时间点或时间段可以提供吗?
  3. 可否提供一些具体的查询语句示例,特别是在高 IO 期间执行的查询?
  4. 系统中是否有其他任务在同一时间段内也在执行,可能会导致 IO 负载增加?
  5. ocp_monitor 用户执行的查询是否涉及到了大数据量的表或者复杂的联接操作?

通过以上信息,我们可以更全面地了解您的系统环境及具体情况,从而给出更加精确的建议。

附上敏捷诊断工具 obdiag 使用帮助链接



SELECT
/*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */
a .tenant_id,
a .svr_ip,
a .svr_port,
sum(data_size) as data_size,
sum(required_size) as required_size
FROM
CDB_OB_TABLE_LOCATIONS a
LEFT JOIN (
SELECT
tenant_id,
tablet_id,
svr_ip,
svr_port,
data_size,
required_size
FROM
__all_virtual_tablet_meta_table
) b ON a .TENANT_ID = b.tenant_id
AND a .tablet_id = b.tablet_id
AND a .SVR_IP = b.SVR_IP
AND a .SVR_PORT = b.SVR_PORT
LEFT JOIN __all_virtual_table c ON a .TENANT_ID = c .TENANT_ID
AND a .table_id = c .table_id
group by
a .tenant_id,
a .svr_ip,
a .svr_port

ocp_monitor是metadb的租户sys没有ocp_monitor用户的。
提供一下集群的版本和架构详细信息

老师 是arm架构 OceanBase 构建版本号:4.2.1.10-110000072024112010版本


sys租户下 确实没有ocp_monitor 这个用户 但是活跃会话里面会刷出来

这是预期内的,应该是metadb的monitor租户去查询其他集群sys获取监控信息。
sys租户当前有影响么 IO cpu 集群响应等

当前是没影响的 但是我看相同ocp下其他集群 就没有这么高的情况 而且这个集群下租户业务量都很小 几乎没什么业务


其他集群情况

老师 这个现在是主机的io很高

你手动查询下sql,看下是否正常


能执行出来

当前会话还是很多么

是一直有的老师

ocp版本是多少?
使用obdiag提取一份ash报告看下
(https://www.oceanbase.com/docs/common-obdiag-cn-1000000005726952

ocp版本号: 4.2.1-20231208144448