开发者社区> 问答> 正文

canal 是否考虑过多线程接收binlog以优化性能

看到项目在1.1.x 版本做了很大的性能优化,整体性能提升了150%( #726 参考: Performance) 但还是有个疑问,目前来看,单线程接收binlog的上限性能为117MB/s,不知道你们有没有考虑或者尝试实现过用多个线程来接收binlog日志,以此来突破117MB/s这个瓶颈。理论上来说,mysql协议支持通过指定的位点来获取binlog日志,我们假设mysql server写入日志的速度高于单线程接收binlog日志的能力,那么我们可以通过多个线程并行的获取binlog(每个线程获取一段),然后再并行处理,最后在一个线程将最终的结果合并,做有序化处理。当然,这只是我个人的想法,想知道你们有没有做过这方面的尝试或者对这种思路可行性的看法是怎么样的?

原提问者GitHub用户Daviedme

展开
收起
白夜行fighting 2023-04-25 21:10:11 275 0
1 条回答
写回答
取消 提交回答
  • 有多线程的处理,117MB/s是在千兆网卡下跑的,如果有万兆网卡机器可以跑下看看

    原回答者GitHub用户agapple

    2023-04-26 17:52:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载
多IO线程优化版 立即下载
低代码开发师(初级)实战教程 立即下载