innerDBA 发表于 2024-3-20 18:26:16

阿里云RDS的SYNC_BINLOG=1000会影响CANAL处理速度吗?

最近有个新项目上线几个月后,凌晨4点CANAL报日志121没有找到。后来发现日志121离线了,最后完成写入是昨天下午18:00!

然后开发怀疑上SYNC_BINLOG=1000 与其它两个项目SYNC_BINLOG =1 不一样。 说MYSQL要积累1000个事件才会通知从库。

中午时分 全量从新拉一边。 过了1天后他们跟领导反应情况,怀疑100%是这个参数导致的。其它两个项目都是1!
可是从全量重新同步后 过了1天 中都是SYNC_BINLOG=1000 参数作用下,CANAL收到通知只延迟了6秒

而通过翻译对比 RDS 主备实例的日志,RDS本身同步没有异常延迟情况。

innerDBA 发表于 2024-3-20 18:31:10

rpl_semi_sync_master_enabled        OFF
rpl_semi_sync_master_timeout        1000
rpl_semi_sync_master_trace_level        1
rpl_semi_sync_master_wait_for_slave_count        1
rpl_semi_sync_master_wait_no_slave        OFF
rpl_semi_sync_master_wait_point        AFTER_SYNC
rpl_semi_sync_slave_enabled        OFF
rpl_semi_sync_slave_trace_level        1

yejr 发表于 2024-3-21 12:44:54

理论上应该不影响。

先改成1验证就知道啥结论了。

innerDBA 发表于 2024-3-21 15:27:03

yejr 发表于 2024-3-21 12:44
理论上应该不影响。

先改成1验证就知道啥结论了。

谢谢 我知道了
SYNC_BINLOG = 0 是关闭同步
SYNC_BINLOG = 1 在SYNC队列启动DUMP线程
SYNC_BINLOG = 1 在FLUSH队列 启动DUMP线程

tony 发表于 2024-3-26 09:38:18

sync_binlog的取值为1000时是当进行1000次事务提交后,mysql 将 binlog_cache 中的数据强制写入磁盘中,也就是binlog file。binlog file有数据更新才会有同步。
页: [1]
查看完整版本: 阿里云RDS的SYNC_BINLOG=1000会影响CANAL处理速度吗?