阿里云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本身同步没有异常延迟情况。
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 理论上应该不影响。
先改成1验证就知道啥结论了。 yejr 发表于 2024-3-21 12:44
理论上应该不影响。
先改成1验证就知道啥结论了。
谢谢 我知道了
SYNC_BINLOG = 0 是关闭同步
SYNC_BINLOG = 1 在SYNC队列启动DUMP线程
SYNC_BINLOG = 1 在FLUSH队列 启动DUMP线程 sync_binlog的取值为1000时是当进行1000次事务提交后,mysql 将 binlog_cache 中的数据强制写入磁盘中,也就是binlog file。binlog file有数据更新才会有同步。
页:
[1]