花 200 元测试 1300 个实时数据同步任务
1.CloudCanal x OceanBase 数据迁移同步优化2.CloudCanal 数据脱敏实践3.手把手教你做 Redis 双向数据同步4.国产数据库 GaussDB 数据迁移同步初探5.一镜到底 ElasticSearch 数据迁移同步技术
6.花 200 元测试 1300 个实时数据同步任务
7.CloudCanal x Debezium 打造实时数据流动新范式8.CloudCanal x Redis 数据同步指令集丰富与细节优化9.如何用 CloudCanal 做多源数据汇聚10.CloudCanal x Hive 构建高效的实时数仓11.Oracle 数据迁移同步优化(三)12.Sap Hana 数据迁移同步优化(二)13.ElasticSearch 到 ElasticSearch 数据迁移同步14.Oracle 到 Clickhouse 数据迁移同步15.CloudCanal & Bytebase 联合解决方案16.Hana 到 PostgreSQL 数据迁移同步17.PostgreSQL 到 PostgreSQL 数据迁移同步18.MySQL 到 ClickHouse 数据同步优化(三)19.Kafka 到 Kafka 数据同步20.Oracle 到 Elasticsearch 数据迁移同步21.SAP HANA 到 MySQL 数据迁移同步22.Redis 到 Redis 数据迁移同步23.2024 年,CloudCanal 做了 3 件事...背景
对于将数据作为重要生产资料的公司来说,超大规模的数据迁移同步系统( 1k、5k、10k 条同步任务)是刚需。
本文以此为出发点,介绍近期 CloudCanal 所做的一个容量测试:在单个 CloudCanal 集群上创建 1300 实时任务,验证系统是否健康。
这个健康度主要包括 同步任务是否运行正常、页面功能操作是否顺畅、容灾能力是否可靠 三个方面。
当然这个测试也带给我们一些新的思路和改进点,让产品更加健壮。
资源与环境
本次测试资源以云资源为主,详单如下:
资源用途 | 资源规格 |
---|---|
console | 2 个 2core8GB 虚拟机 (阿里云 ecs.u1-c1m4.large) |
元数据库 | 1 个 8core16GB MySQL 8.0 (阿里云 RDS mysql.n2m.xlarge.2c) |
sidecar | 8 个 12core96GB 虚拟机 (阿里云 ecs.u1-c1m8.3xlarge) |
业务库 | 2 个 4core8GB MySQL 8.0 (阿里云 RDS mysql.n2m.large.2c) |
负载均衡 | 1 个 4 层负载均衡 (sidecar->console 7007 端口,阿里云 NLB) 1 个 7 层负载均衡 (CloudCanal 页面操作,console 8111 端口,阿里云 ALB) |
测试步骤
安装 console
- 根据 tgz 安装文档 安装软件
- 激活 CloudCanal,因社区版任务数限制,我们临时申请了一个 2000 个同步任务的 license
安装节点
- 机器管理 > 机器列表 > 添加机器,选择自动安装
- 等待节点安装完成
业务数据库准备
- 两个 RDS 分别创建源端 src_test_a 和 src_test_b 库,以及 target_db_0~target_db_999 1000个目标库。
- 一个任务源端和目标分别是 src_test_a/src_test_b -> target_db_(i)
- 源端各创建 1 张表,并各生成 1000 条数据
基于 OpenAPI 创建任务
-
设置任务参数模版 LE_256MB_TASK ,以便生成任务时自动调整
-
获取 AccessKey 和 SecretKey 以便调用 API 创建任务
-
向元数据库插入 128MB 规格数据
-
编写调用 OpenAPI 代码,1 次 100 个任务创建, 代码参考
健康状况
-
任务正常运行,任务查看/新建/启停/删除、任务调度、监控告警、页面功能查看均表现正常顺滑
-
控制台负载偏高,因为只用了 2 core 节点,需提升为 4 core
-
节点负载正常
-
元数据库负载正常,qps 偏高,需要优化任务数据(状态、位点等)上传频率和方式
可改进点
- 任务数据(状态/位点等)上报频率、种类需要优化,对元数据库压力较高
- 监控指标依赖的 promethus 需要进行调优
资源花费
-
早上开资源前
-
晚上释放资源前
云资源花费 200 元左右。
总结
本次容量测试是 CloudCanal 针对单集群 1000 个以上任务的场景验证,从中找到一些可能存在的问题并逐步改进,为大型客户大规模使用做好基本的验证与后续优化。
合集:
CloudCanal
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库