首页 > 其他分享 >花 200 元测试 1300 个实时数据同步任务

花 200 元测试 1300 个实时数据同步任务

时间:2023-11-17 09:11:26浏览次数:44  
标签:200 负载 1300 CloudCanal 实时 任务 阿里 console 资源

背景

对于将数据作为重要生产资料的公司来说,超大规模的数据迁移同步系统( 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

安装节点

  • 机器管理 > 机器列表 > 添加机器,选择自动安装
    auto_install
  • 等待节点安装完成
    auto_install_result

业务数据库准备

  • 两个 RDS 分别创建源端 src_test_a 和 src_test_b 库,以及 target_db_0~target_db_999 1000个目标库
  • 一个任务源端和目标分别是 src_test_a/src_test_b -> target_db_(i)
    target_1
    target_2
  • 源端各创建 1 张表,并各生成 1000 条数据
    source_1
    source_2

基于 OpenAPI 创建任务

  • 设置任务参数模版 LE_256MB_TASK ,以便生成任务时自动调整
    task_config_template

  • 获取 AccessKey 和 SecretKey 以便调用 API 创建任务
    ak_sk_fetch

  • 向元数据库插入 128MB 规格数据
    prepare_spec_data

  • 编写调用 OpenAPI 代码,1 次 100 个任务创建, 代码参考
    data_job_create_base_api

健康状况

  • 任务正常运行,任务查看/新建/启停/删除、任务调度、监控告警、页面功能查看均表现正常顺滑
    datajob_status

  • 控制台负载偏高,因为只用了 2 core 节点,需提升为 4 core
    console_status

  • 节点负载正常
    worker_status

  • 元数据库负载正常,qps 偏高,需要优化任务数据(状态、位点等)上传频率和方式
    db_status

可改进点

  • 任务数据(状态/位点等)上报频率、种类需要优化,对元数据库压力较高
  • 监控指标依赖的 promethus 需要进行调优

资源花费

  • 早上开资源前
    account_before

  • 晚上释放资源前
    account_after

云资源花费 200 元左右。

总结

本次容量测试是 CloudCanal 针对单集群 1000 个以上任务的场景验证,从中找到一些可能存在的问题并逐步改进,为大型客户大规模使用做好基本的验证与后续优化。

标签:200,负载,1300,CloudCanal,实时,任务,阿里,console,资源
From: https://www.cnblogs.com/clougence/p/cc_13k.html

相关文章

  • 双核电脑开200线程会崩溃吗?如何解决
    双核电脑开启200线程是否会崩溃,这取决于多个因素,包括电脑的具体配置、操作系统、运行的程序以及这些线程的具体任务。理解这一点很重要,因为“线程”这个概念和电脑的物理核心数量并不是直接对应的。多线程与处理器核心首先,我们要区分“物理核心”和“线程”。一个物理核心可以同......
  • 服务器实时监控部署
    3个组件:node_export、prometheus、grafana   第一步:部署到所需监控的服务器上(node_export需要部署到每个服务器,剩余两个只需部署一个服务器即可)第二步:解压所部署的.tar.gz包 :tar-zxvf压缩包名路径第三步:进入解压后的node_export目录下,执行:  nohup./node_export......
  • Windows server 2012/2016安装SQL Server 2005和SP4补丁
    sqlserver2005安装包sqlserver2005SP4补丁包(非常难找,留作备用)链接:https://pan.baidu.com/s/1j5OOX-iV8gLrmSNqNLE-kg提取码:jvtr复制这段内容后打开百度网盘手机App,操作更方便哦 背景:在windowsserver2012/2016x64安装sqlserver2005的时候会提示如下错误,无法启......
  • 边缘计算物联网网关实现高效、实时、安全的物联网连接-天拓四方分享
    边缘计算物联网网关是一种能够将物联网设备连接到云端或互联网的硬件设备。它具有强大的数据处理和传输能力,可以在本地进行数据预处理,并通过网络将数据传输到云端或互联网。同时,它还支持多种通信协议和接口,可以与不同类型的物联网设备进行连接。随着物联网(IoT)设备的不断增加,如何实......
  • app在线实时更新(详解)
    由于Uni-app的代码是针对不同平台(iOS、Android、H5等)进行开发的,因此具体的代码实现会因平台而异。以下是一种可能的实现方式,仅供参考:后端服务器(示例代码使用PythonFlask框架):  fromflaskimportFlask,jsonify importos   app=Flask(__name_......
  • 服务器部署VS 2005/2008 ReportViewer,完美支持中文
     VS2005下ReportViewer的部署1.安装ReportViewer.exe,或者直接下载MicrosoftReportViewerRedistributable2005SP1(完全安装)安装。2.再去MS网站下载语言包(ReportViewerLP.exe),在服务器上安装就可以了。VS2008下ReportViewer的部署1.下载MicrosoftReportVie......
  • VS 2005/2008 Web Setup Project
     Tip/Trick:CreatingPackagedASP.NETSetupProgramswithVS2005http://weblogs.asp.net/scottgu/archive/2007/06/15/tip-trick-creating-packaged-asp-net-setup-programs-with-vs-2005.aspx 如何用VS2005制作Web安装程序 TwoQuickTipsonWebSetupinVisualStudioh......
  • 实时化与Serverless是开源大数据3.0时代的必然选择
    近日在2023云栖大会上,阿里云开源大数据产品进行了年度发布:E-MapReduce、Elasticsearch 等开源大数据产品全面 Serverless 化;创新性推出 Flink 与 Paimon 搭档的新一代流式湖仓;拥抱 AI,推出 Milvus 全托管服务,升级智能运维工具 EMR Doctor 以及 Flink Advisor。核心组......
  • 【洛谷 P1089】[NOIP2004 提高组] 津津的储蓄计划 题解(循环)
    [NOIP2004提高组]津津的储蓄计划题目描述津津的零花钱一直都是自己管理。每个月的月初妈妈给津津元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上还给津津。因此津津制定了一......
  • IOI 2007 Miners
    三种食物,两个矿地。每个矿地会记得最靠近的三种食物,每一次给他们一个新的食物时,答案会加上有多个不同的食物。 求答案的最大值。 很简单的dp: dp[i][a1][a2][b1][b2]表示当前已经分了i个食物,a的上两个食物为a1,a2,b的上两个食物为b1,b2。那么转移状态为:让s[i]表示当......