开发者社区> 问答> 正文

canal.deployer 推送kafka效率低

环境信息

canal version1.1.1 mysql version 5.6

问题描述

每日逻辑数据量再5千万左右,用canal同步延迟在7小时左右查看监控 blocking内 sink与dump基本保持在100%左右

原提问者GitHub用户xuanqisong

展开
收起
古拉古拉 2023-05-08 13:56:16 124 0
2 条回答
写回答
取消 提交回答
  • 如果是flatMessage格式投递建议把 canal.mq.lingerMs参数调大

    原回答者GitHub用户rewerma

    2023-05-09 17:55:27
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    根据您提供的信息,您使用 Canal 将 MySQL 数据同步到 Kafka 的过程中,遇到了性能瓶颈,导致同步延迟较高。具体来说,您的逻辑数据量每日约为 5000 万,在同步过程中出现了较长的延迟,监控信息显示 sink 和 dump 占用率基本保持在 100% 左右。

    为了解决这个问题,您可以尝试以下几个方向:

    增加同步通道的并发度。您可以通过增加 Canal 的并发度,或者增加 Kafka 的分区数,来提高同步通道的并发度,以更快地消费和处理 MySQL binlog 数据。同时,也需要注意控制并发度过高的风险,以避免丢失数据或造成系统负载过高等问题。

    调整 Canal 和 Kafka 的配置。您可以根据实际情况调整 Canal 和 Kafka 的相关配置,例如增加内存大小、调整缓存策略、调整网络连接数等,以提高性能和效率。

    优化数据处理逻辑。您可以尝试优化同步过程中的数据处理逻辑,例如采用批量处理方式、优化 SQL 查询语句、删除无用的索引等,以减少数据处理的时间和资源消耗。

    检查网络和硬件环境。您需要确保网络环境稳定可靠,并检查硬件资源是否充足。例如,您需要检查网络延迟、带宽、丢包率等指标,以及 CPU、内存、磁盘等硬件资源使用情况,以发现和解决性能瓶颈。

    希望以上信息能够帮助您解决问题。

    2023-05-08 14:11:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载