OMS在源端出现大事务后store组件如何优化配置

【 使用环境 】测试环境
【 OB or 其他组件 】OMS 4.1.12
【 使用版本 】Oceanbase 4.4.2 & OMS 4.1.12
【问题描述】
老师,您好,由于我们社区版部署的测试环境时常会有一些数据初始化的场景,这导致OMS偶尔会出现由于事务卡住的场景,具体表现:
1、原store的点位不动了;
2、组件,创建一个新的点位,新点位时间略微大于原来的store,组件即可顺利通过
截图如下:

CDC日志:
OMS cdc日志.log (201.8 KB)
@论坛小助手

ai分析:

OceanBase CDC日志分析报告
概述
这是OceanBase数据库CDC(变更数据捕获)组件的日志,记录了系统内存使用情况、租户状态、事务处理以及流量控制等关键信息。日志时间戳显示为2026年3月11日,可能来自测试环境。
关键问题
1. 严重延迟问题
租户延迟:DELAY=[13313.723494 sec] (约3.7小时)
序列化器延迟:DELAY="[16951.229841 sec]" (约4.7小时)
这表明CDC处理速度远跟不上数据变更速度,存在严重积压
2. 内存使用情况
总内存使用:约2.43GB
主要内存消耗模块:
LSTranTaskPool: 415.04MB/1次分配
LogFetcArpcRes: 416.00MB/13次分配
CDCBufBlock: 200.00MB/10次分配
LSTranTasPreaPa: 151.37MB/1次分配
CACHE_MAP_BKT: 128.00MB/1次分配
3. 流量控制频繁触发
系统反复暂停数据拉取(fetcher)以控制流量
从16:04:58.055开始连续多次执行pause操作
上次恢复时间为16:02:00.701138,表明系统一直无法正常处理
日志显示: need_slow_down_fetcher=true, config_pause_fetcher=0
4. 事务处理状态
总事务数: 41,260
已准备好但未完成序列化的事务: 41,237 (占比极高)
已提交事务: 仅12
DML队列无积压: QUEUE(DML=0),但事务处理管道存在瓶颈
5. 技术错误
JSON解析警告: invalid token type, maybe it is valid empty json type
数据获取错误: fail to get value(col_idx=7, ret=-4152)
系统状态
租户信息
租户ID: 1006 (名称: pre)
状态: NORMAL
角色: PRIMARY
LS数量: 2 (全部处于服务状态)
存储状态
RocksDB内存使用:
memtable: 119.52MB
block_cache: 7.75MB
table_readers: 1.88MB
服务器列表
两个服务器节点:
172.18.65.23:2882 (角色1,主节点)
172.18.65.35:2882 (角色2,备节点)
建议措施
增加处理资源:
扩大事务处理线程池大小
增加内存分配,特别是LSTranTaskPool和LogFetcArpcRes模块
优化流量控制:
调整流量控制阈值,避免过度暂停fetcher
考虑降低源端变更捕获频率
检查积压原因:
分析为何事务处理速度极低(CREATE_TRANS_TPS=1.0)
检查序列化器瓶颈,41,237个事务处于PART_READY状态但未被处理
修复技术问题:
调查JSON解析警告
修复列值获取错误(col_idx=7)
监控增强:
设置延迟告警阈值
增加定期性能快照,便于分析性能变化趋势
这个系统当前处于严重过载状态,需要立即采取措施解决延迟问题,否则CDC功能将无法满足实时数据同步需求。

请问我们可以如何优化配置处理此类场景。

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

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

需要你优先确认一下卡住的时刻是否有大事务

老师,

但是,因为我们都是没有实时地发现延时,所以,可能没有在卡住时刻获取到足够的事务信息。

1 个赞

看着还是心跳不推了 同步卡住了 你们是不是还有大事务呀

1 个赞

应该是有大事务呢,

但是,因为没有事务快照这类监控,所以一些事务的状态确实没实时记录下来~

我们的感觉似乎也是大事务卡住,我们只需要新建一个租户把点位拨后一点点就正常。所以,我想看看,是不是有一些配置可以优化一下。

老师,还有一个事情比较奇怪的是:

这个问题只发生在数据同步,我们的数据迁移,用到了同样的数据源,但是却没出现任何卡住的情况:

store一直都无延时。

1 个赞

学到了~~