配置完之后数据是正常的,client 能拿到数据。
但是非常慢,看网络占用是 十几秒 才有 1秒 有 1M/s 的数据传输。
是需要修改什么配置么?docker 启动参数如下 sh run.sh -e canal.auto.scan=false -e canal.destinations=xxx -e canal.instance.master.address=x.x.x.x:3306 -e canal.instance.dbUsername=xxx -e canal.instance.dbPassword=xxx -e canal.instance.connectionCharset=UTF-8 -e canal.instance.tsdb.enable=true -e canal.instance.gtidon=false -e canal.instance.memory.buffer.memunit=10240 -e canal.instance.memory.buffer.size=65536 -e canal.instance.master.timestamp=1558000000000
polar 里面 innodb_flush_log_at_trx_commit 值是 1 , 并且无法修改
原提问者GitHub用户Tangkysin
阿里云 Polar DB 是基于阿里云 ApsaraDB for MySQL 架构开发,所以在同步 Polar DB 数据库时,建议使用 Canal 进行数据同步,而不是使用 MySQL Connector/J 或其他方式。
关于同步速度慢的问题,可能有多个原因,可以尝试以下方法进行调优:
增加 Canal 实例的内存大小,比如将 canal.instance.memory.buffer.size 参数调大,可以提高内存使用效率,加快同步速度。
尝试开启 Canal 服务端的压缩功能,通过 canal.instance.networker.compression 参数开启,可以减少数据传输量,提高网络传输速度。
检查阿里云 Polar DB 实例和 Canal 服务端之间的网络连接,如果网络延迟较高或带宽较低,可能会导致同步速度较慢。
检查 Polar DB 实例的负载情况,如果实例负载较高,可能会影响同步速度。
关于 Polar DB 中 innodb_flush_log_at_trx_commit 参数无法修改的问题,应该是因为该参数受到了 Polar DB 的限制,无法通过修改参数的方式来提高同步速度。可以尝试上述调优方法进行优化。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。