6.5.1 ticdc 同步延迟优化

【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.1
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
ticdc 延迟在1s 多,上次用6.5版本测试基本都是秒内,现在延迟升高了,觉得是由于changefeed resolved ts 延迟导致,因为resolved ts 也是1秒多,耗时主要在changefeed resolved ts
【资源配置】
24个ticdc server,之前是12个,改成24个延迟还是1秒多
changefeed worker-num 之前是24改成48 ,延迟还是1秒多

–changefeed 配置
#同步没有索引的表
force-replicate = true
[filter]
#忽略指定 start_ts 的事务
ignore-txn-start-ts = [1, 2]

#过滤器规则
#过滤规则语法https://docs.pingcap.com/zh/tidb/stable/table-filter#表库过滤语法
rules = [‘xxxxx.*’]

[mounter]
#mounter 线程数,用于解码 TiKV 输出的数据
worker-num = 48
[sink]

–changefeed 创建语句
tiup cdc cli changefeed create --pd=http://192.168.xx.xx:2379 --sink-uri=“mysql://xx:xx@192.168.xx.xx:4000/?worker-count=32&max-txn-row=5000&transaction-atomicity=none” --changefeed-id=“mysql-xx” --config=/opt/soft/scale/changefeed_xx.toml

【附件:截图/日志/监控】

1、上游tidb中是不是有一个大表(tps高)?
2、ticdc是按table维度调度到processor上,如果某个表tps 比较高,ticdc server又是无差异化的,多个ticdc server都无法解决

是的,有大表tps高,这种如何处理呢?transaction-atomicity=none 这个参数表示会拆分单表事物,已经加这个参数了,如何更快一些?

tikv 有一个配置 min_ts_interval 可以调整resolved ts 的推进频率,不过在大量region的情况下可能会影响 cdc 的性能。

set config tikv `cdc.min_ts_interval`="200ms"

另外可以查看grafana 里 Slow Table 那一项看看在哪一个模块引入的延迟比较大