标题
测试报告
背景目标

大航海databus任务在合并阶段费资源,且大表执行时间较长,期望缩短同步时间可以10分钟抽10亿条数据。数据同步需要先建表,再建任务,配置不方便。

结论 在满足配置时可以达到期望速度,配置如下
所需环境信息

mysql=========CPU:16核     内存:32G       IOPS:32000     数量2台

离线资源包=====CPU:8核       内存:16G        数量:16个

实时资源包=====CPU:16核      内存:32G       数量:16个

建议方案

离线同步:

方案1:直接走离线资源包,达到配置就可以满足10分钟抽10亿条。问题:离线资源包所属pod有瓶颈,128核才刚满足,需再快的话需要单独联系采用大核数服务器

实时同步:

方案1:全量抽取阶段走离线资源包,增量抽取走实时资源包。因为全量抽取可以满足快速抽数诉求,相对纯用实时资源,比较省资源。增量同步走实时资源包

方案2:纯走实时资源包,任务配置管理比较方便,可以分阶段配置资源,如全量抽取配置资源大一些,增量抽取使用小资源。缺点是实时任务每分钟要保留检查点,sink算子写入时也比较费资源,是离线资源的三倍。

概念

离线资源组:由固定cpu内存组成的资源组,是一台Pod虚拟隔离出来的资源。

Pod:隐藏概念,多个离线资源组组成一个Pod,Pod可以理解为一个虚拟物理机有资源上限,也是抽数速度上限,目前最大128核,如扩容需单独申请。

实时资源组:底层为腾讯oceanus,理论上可以无限扩,可以达到很高的同步能力

相关文档

mysql数据库性能介绍:https://cloud.tencent.com/document/product/236/19707

数据集成工具入口:腾讯云控制台,搜索数据集成

使用教程:腾讯数据集成工具使用

详细测试信息:腾讯数据集成工具性能测试

一、资源规格

1、mysql数据库

分组名称
名称
内存
CPU
IOPS
磁盘
版本
低配 bdg-test 8G 4核 8000 200GB MySQL5.7
中配 test-wangshida 16G 8核 20000 1700GB MySQL5.7
高配 test-wangshida 32G 16核 32000 1700GB MySQL5.7

2、测试数据表

数据库
测试表名
数据行数
列数
总存储量
数据存储量
索引存储量
存储引擎
低性能 order_info 162 8287 40 1.25 GB

416 MB

844MB InnoDB
低性能 order_info1

2 6119 6181

40

77.28 GB

58.03 GB

16.12 GB

InnoDB
高性能 order_info1 2 9359 9266 40       InnoDB
高性能 ss_robot_task_test 约11亿 25 1.19TB 1.19TB 0 InnoDB

3、数据集成资源包

离线资源包

分组名称
名称
内存
CPU
数量
低配 离线资源包 16G 8核 1
中配 离线资源包 32G 8核 2
高配 离线资源包 16G 8核 8

实时资源包

分组名称
名称
内存
CPU
数量
低配 实时资源包 64G 16核 1
中配 实时资源包 64G 16核 2

二、离线同步

期望10分钟10亿条数据,以下为不同配置的最高速度

资源组

数据库

同步表

同步数据量

并发

同步花费时间

平均速度

平均速率

mysql资源

离线包资源

低配(1个) 低配 order_info 162 8287 1

费时:61秒

6.26MB/s

3.36万条/s

CPU:5%

CPU:26%

内存:24%

低配(1个) 低配 order_info1 2 6119 6181 最优10

费时:43分钟

16.97MB/s

10.36万条/s CPU:11.46%

CPU:95%以上

内存:95%以上

中配(2个)

低配 order_info1 2 6119 6181 最优20 费时:23.6分钟

30.94MB/s

18.89万条/s

CPU:21.91%

CPU:95%以上

内存:40%以上,32G没用上

高配(8个) 低配 order_info1 2 6119 6181 最优10

费时:10分钟

73.95MB/s

45.15万条/s

CPU:86%

IOPS:120%

80%以上
高配(8个) 高配 order_info1 2 9359 9266 最优20

费时:6.73分钟

120.87MB/s

73.39万条/s

CPU:16%

IOPS:37%

80%以上
高配(8个) 高配 ss_robot_task_test 约11亿 最优20 费时:19.58分钟

157.77MB/s

96.24万条/s

CPU:23.69%

IOPS:120%

80%以上
期望-高配(16个) IOPS:64000 24个列的表 约10亿 20 期望10分钟 300MB/s 200万条/s - -

期望10分钟10亿,则需要以下配置:

类型

CPU

内存

磁盘

数量

其它

月费用

mysql 32核 

256GB

最低1.7TB  1 单节点IOPS:80000  
mysql

16核

32GB 最低1.7TB 2 单节点IOPS:32000  
数据集成-离线包 8核 16GB - 16 8*16=128核

调优方法:

1、根据资源包规格调整并发,单任务可以跨资源包,但不可以跨pod。单pod目前最大128核,目前最大抽数瓶颈是10分钟10亿条数据

注:

1、单任务只能在一个pod上跑,单pod有资源瓶颈,如单pod最大只能128核,再大需要走特殊申请

2、单pod最大能满足10分钟10亿条期望,如期望再高,则需要单独申请高核数和内存的服务器

3、并发根据资源包设置,低配10并发合适,高配20并发合适

三、实时同步

期望10分钟10亿条数据,以下为不同配置的最高速度

资源组

数据库

同步表

同步数据量

TaskManager规格

同步花费时间

速度

速率

mysql cpu使用

实时包使用率

低配(1个) 低配 order_info1 2 6119 6181 0.5CU*26

约40分钟

高40MB/s

低37MB/s

高峰12.69万条/s

低峰11.24万条/s

19% 93.75%
中配(2个) 低配 order_info1 2 6119 6181 1CU*30

约20分钟

高100MB/s

低95.96MB/s

高峰26.71万条/s

低峰25.37万条/s

45%

100%
中配(2个) 低配 order_info1 2 6119 6181 0.5CU*60 约20分钟

高96.63MB/s

低89.55MB/s

高峰25.5万条/s

低峰23.70万条/s

42% 100%
中配(2个) 高配 order_info1 2 9359 9266 1CU*30          
期望高配(16个) IOPS:64000 订单表 约10亿 20 期望10分钟 300MB/s 200万条/s - -

期望10分钟10亿,调大实时资源包大小即可,没有扩容瓶颈,预估资源如下

类型

CPU

内存

磁盘

数量

其它

月费用

mysql 32核 

256GB

最低1.7TB  1 单节点IOPS:80000  
mysql

16核

32GB 最低1.7TB 2 单节点IOPS:32000  
数据集成-实时 16核 64GB - 16 16*16=256核  

Iceberg调研报告-腾讯数据集成工具报告的更多相关文章

  1. 数据集成工具Kettle、Sqoop、DataX的比较

    数据集成工具很多,下面是几个使用比较多的开源工具. 1.阿里开源软件:DataX         DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).H ...

  2. 数据集成工具Teiid Designer的环境搭建

    由于实验室项目要求的关系,看了些数据汇聚工具 Teiid 的相关知识.这里总结下 Teiid 的可视化配置工具 Teiid Designer 的部署过程. 背景知识 数据集成是把不同来源.格式.特点性 ...

  3. 数据集成工具:Teiid实践

    数据集成是把不同来源.格式.特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享.数据集成的方式多种多样,这里介绍的 Teiid 是其中的一种:通过抽象和联邦技术,实现分布式数据源的 ...

  4. 数据集成工具—Sqoop

    数据集成/采集/同步工具 @ 目录 数据集成/采集/同步工具 Sqoop简介 Sqoop安装 1.上传并解压 2.修改文件夹名字 3.修改配置文件 4.修改环境变量 5.添加MySQL连接驱动 6.测 ...

  5. 数据集成工具—FlinkX

    @ 目录 FlinkX的安装与简单使用 FlinkX的安装 FlinkX的简单使用 读取mysql中student表中数据 FlinkX本地运行 MySQLToHDFS MySQLToHive MyS ...

  6. 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)

    0. 环境说明及软件准备 ODI(Oracle Data Integrator)是Oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取.转换和加载.ODI可以实现当今大多数的主流关系型数 ...

  7. 【转载】soapui基于持续集成工具自动化运行的调研姿势

    soapui中的testrunner.bat调研姿势,用于自动化测试副标题:soapui基于持续集成工具自动化运行的调研姿势 各位亲爱的同仁们,大家好吗?最近项目在搞持续集成工具,我们的测试用例都是基 ...

  8. 数据库设计_ERMaster安装使用_PowerDesigner数据设计工具

    数据库设计 1. 说在前面 项目开发的流程包括哪些环节 需求调研[需求调研报告]-- 公司决策层 (1) 根据市场公司需求分析公司是否需要开发软件来辅助日常工作 (2) 公司高层市场考察,市场分析,决 ...

  9. [Hadoop 周边] Hadoop和大数据:60款顶级大数据开源工具(2015-10-27)【转】

    说到处理大数据的工具,普通的开源解决方案(尤其是Apache Hadoop)堪称中流砥柱.弗雷斯特调研公司的分析师Mike Gualtieri最近预测,在接下来几年,“100%的大公司”会采用Hado ...

  10. 用持续集成工具Travis进行构建和部署

    用持续集成工具Travis进行构建和部署 用持续集成工具Travis进行构建和部署 摘要:本文简单说明了如何使用持续集成工具Travis进行构建和部署的过程. 1. 概述 持续集成(Continuou ...

随机推荐

  1. Python 爬虫必备杀器,xpath 解析 HTML

    最近工作上写了个爬虫,要爬取国家标准网上的一些信息,这自然离不了 Python,而在解析 HTML 方面,xpath 则可当仁不让的成为兵器谱第一. 你可能之前听说或用过其它的解析方式,像 Beaut ...

  2. Android开发重要知识点

    一.网络 1.https原理 2.tcp/ip协议 三次握手:https://www.cnblogs.com/cenglinjinran/p/8482412.html 四次挥手:https://www ...

  3. 【处理元组有关的题型的技巧】codeforces 1677 A. Tokitsukaze and Strange Inequality

    题意 第一行输入一个正整数 \(T(1 \leq T \leq 1000)\),代表共有 \(T\) 组测试用例,对于每组测试用例: 第一行输入一个正整数 \(n(4 \leq n \leq 5000 ...

  4. MongoDB备份脚本

    #!/bin/bash #backup MongoDB #mongodump命令路径 DUMP=/home/mongodb/bin/mongodump #临时备份目录 OUT_DIR=/home/mo ...

  5. 【Vue】vue基础学习笔记

    目录 基础 差值语法 模板语法 数据绑定 el与data的两种写法 el与data写法1 el写法2:挂载 data写法2:函数式写法 绑定样式 绑定class样式 绑定style样式 条件渲染 基础 ...

  6. Qt/C++音视频开发59-使用mdk-sdk组件/原qtav作者力作/性能凶残/超级跨平台

    一.前言 最近一个月一直在研究mdk-sdk音视频组件,这个组件是原qtav作者的最新力作,提供了各种各样的示例demo,不仅限于支持C++,其他各种比如java/flutter/web/androi ...

  7. Qt音视频开发39-人脸识别在线版

    一.前言 关于人脸识别这块,前些年不要太火,哪怕是到了今天依然火的一塌糊涂,什么玩意都要跟人脸识别搭个边,这东西应该只是人工智能的一个很小的部分,人脸识别光从字面上理解就是识别出人脸区域,其实背后真正 ...

  8. [转]OpenLayers基于Vue项目的搭建

    主要内容上次介绍了什么是OpenLayers以及其他的可以GIS工具,这次说说如何基于Vue搭建OpenLayers的项目,并且实现地图的加载. 一.vue项目搭建1.全局安装vue-cil npm ...

  9. 贝叶斯定律和卡尔曼滤波中,关于(e^-x)*(e^-x)的积分的计算方法

    贝叶斯定律和卡尔曼滤波中,关于(e^-x)*(e^-x)的积分的计算方法: 1.用数学软件Mathmatica计算: 2.用复变函数中的留数定理计算: 3.用FFT+卷积公式计算.

  10. C#中使用ping命令测试远程主机网络通信是否正常

    说明,使用ping工具 1.可以用来查询域名是否可以访问 2.可以用来查询域名对应的ip地址 如果远程服务器允许ping命令的前提下. 解决思路:主要使用了C#提供的Ping类,效率比较高,相应快 程 ...