Databend db-archiver 数据归档压测报告

Databend db-archiver 数据归档压测报告

  • 背景
  • 准备工作
      • Create target databend table
      • 启动 small warehouse
      • 准备北京区阿里云 ECS
      • db-archiver 的配置文件
      • 准备一亿条源表数据
      • 开始压测

背景

本次压测目标为使用 db-archiver 从 MySQL 归档数据到 Databend Cloud, 归档的数据量为一亿条数据。

准备工作

Create target databend table

首先到 Databend Cloud worksheet 中根据源表结构创建目标表:

CREATE TABLE test_table1 (id INT64, field1 VARCHAR(255), field2 VARCHAR(255), field3 VARCHAR(255), field4 VARCHAR(255), field5 VARCHAR(255), field6 VARCHAR(255), field7 VARCHAR(255), field8 VARCHAR(255), field9 VARCHAR(255), field10 VARCHAR(255), field11 VARCHAR(255), field12 VARCHAR(255), field13 VARCHAR(255), field14 VARCHAR(255), field15 VARCHAR(255), field16 VARCHAR(255), field17 VARCHAR(255), field18 VARCHAR(255), field19 VARCHAR(255), field20 VARCHAR(255));

总共 21 个字段,其中 id 在源表中自增主键。

启动 small warehouse

到 Databend Cloud 上启动 small warehouse 用作同步目标,本次我们选择 Databend Cloud的阿里云北京区。

准备北京区阿里云 ECS

为了减小跨区域的网络延迟影响,我们同样选择开启一个北京区的 ECS 作为我们同步任务执行的地方。

db-archiver 的配置文件

{"sourceHost": "127.0.0.1","sourcePort": 3306,"sourceUser": "root","sourcePass": "","sourceDB": "mydb","sourceTable": "test_table1","sourceQuery": "select * from mydb.test_table1","sourceWhereCondition": "id < 100000000","sourceSplitKey": "id","databendDSN": "https://user:password@tnf34b0rm--elt-wh-s.gw.aliyun-cn-beijing.default.databend.cn:443","databendTable": "default.test_table1","batchSize": 50000,"batchMaxInterval": 30,"copyPurge":true,"copyForce":true,"disableVariantCheck": false,"userStage": "~","deleteAfterSync": false,"maxThread": 20
}

更多详细配置可以参考:https://github.com/databendcloud/db-archiver?tab=readme-ov-file#parameter-references

准备一亿条源表数据

往源表中插入一亿条数据。

开始压测

所以这里同步的前置条件为:

  • 测试区域:databend cloud cn 北京区
  • Databend warehouse 配置:small warehouse
  • 运行机器配置: 8c16g
  • 运行机器所在区域:阿里云北京区
  • 一亿条数据-MySQL
    这里压测三波,每次的压测的结果以及配置如下:
开启线程BatchSize完成时间
12000085min
104000013min
105000011.5min
206000018min
在这里插入图片描述

可以看到 db-archiver 的线程数比较重要,但线程也不能无限开大,要根据所在机器的具体配置调优。并且 BatchSize 也不是越大越好,这里推荐 10 个线程配合 40000 的 batchSize。具体情况可以由客户自行测试调优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/37749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【王佩丰 Excel 基础教程】第一讲:认识Excel

文章目录 前言一、Excel软件简介1.1、历史上的其他数据处理软件与 Microsoft Excel1.2、Microsoft Excel 能做些什么1.3、Excel 界面介绍 二、Microsoft Excel 的一些重要概念2.1、Microsoft Excel 的几种常见文件类型2.2、工作簿、工作表、单元格. 三、使用小工具&#xff1a;…

Python_Socket

Python Socket socket 是通讯中的一种方式&#xff0c;主要用来处理客户端与伺服器端之串连&#xff0c;只需要protocol、IP、Port三项目即可进行网路串连。 Python套件 import socketsocket 常用函式 socket.socket([family], [type] , [proto] ) family: 串接的类型可分为…

GO内存管理

内存管理 内存管理 xxx内存分配 内存分配有两种方式&#xff1a;栈分配和堆分配- 栈分配是在函数调用时为局部变量分配内存&#xff0c;当函数返回时&#xff0c;这些内存会自动释放 - 堆分配则是通过 new 或者 make 函数动态分配内存&#xff0c;需要GC释放编译器会自动选择…

Java中的Checked Exception和Unchecked Exception的区别

在Java中&#xff0c;异常分为两大类&#xff1a;已检查异常&#xff08;Checked Exception&#xff09;和未检查异常&#xff08;Unchecked Exception&#xff09;。 已检查异常是在编译时必须被捕获或声明的异常。换句话说&#xff0c;如果你的方法可能会抛出某个已检查异常&…

封装uview2的picker组件(uniapp)

1.源码 <template><view><view :class"[getPickerName ? : is-placeholder]" click"onShowPicker">{{ getPickerName || placeholder }}</view><u-picker v-if"showStatus" :show"show" :columns"…

力扣1504.统计全1子矩形

力扣1504.统计全1子矩形 开一个二维数组存每个点从它本身开始向左有多少连续的1 遍历矩形右下角(i,j) 再遍历行k in i每一行的矩形数量 minx min(minx,left(k,j)) class Solution {public:int numSubmat(vector<vector<int>>& mat) {int n mat.size();int…

Kubernetes面试整理-如何收集和管理Pod日志?

在 Kubernetes 中,收集和管理 Pod 日志是确保应用程序健康运行和进行故障排除的重要步骤。以下是几种常用的方法和工具,用于收集和管理 Pod 日志: 1. 使用 kubectl logs kubectl logs 命令是最简单的查看 Pod 日志的方法。它允许您查看单个容器的日志。 查看单个容器的日志:…

韩顺平0基础学Java——第33天

p653-674 坦克大战 继续上回游戏 将每个敌人的信息&#xff0c;恢复成Node对象&#xff0c;放进Vector里面。 播放音乐 使用一个播放音乐的类。 第二阶段结束了 网络编程 相关概念 &#xff08;权当是复习计网了&#xff09; 网络 1.概念:两台或多台设备通过一定物理设备连…

龙芯久久派到手开机测试

今天刚拿到龙芯久久派&#xff0c;没看到文档&#xff0c;只有视频&#xff0c;我来写个博客&#xff0c;做个记录&#xff0c;免得以后忘记 1.连接usb转ttl串口与龙芯久久派&#xff0c;如图所示。 2.将usb转串口接到电脑USB口 也就是这个接电脑上 3.打开串口调试助手或Secu…

[数据集][目标检测]游泳者溺水检测数据集VOC+YOLO格式4599张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4599 标注数量(xml文件个数)&#xff1a;4599 标注数量(txt文件个数)&#xff1a;4599 标注…

【面试系列】云计算工程师 高频面试题及详细解答

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&#xff1a;详细讲解AIGC的概念、核心技术、…

使用Spring Boot实现RESTful API

使用Spring Boot实现RESTful API 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨如何利用Spring Boot框架实现RESTful API&#xff0c;这是现…

Android 11.0 修改系统显示大小导航栏消失

Android 11.0 修改系统显示大小导航栏消失 1.显示大小设置为大时&#xff0c;导航栏图标不显示。 设置为大&#xff0c;较大&#xff0c;最大时&#xff0c;导航栏图标不显示。 2.开始怀疑是导航栏被隐藏了&#xff0c;各种折腾无效。 3.发现&#xff1a; frameworks/base/pa…

无人机的弱点和限制

1.电池和续航能力&#xff1a; 续航时间短&#xff1a;大多数无人机依赖锂电池供电&#xff0c;续航时间通常在30分钟至1小时之间&#xff0c;限制了其长时间任务的执行能力。 能量密度低&#xff1a;现有电池技术的能量密度无法满足长时间飞行需求&#xff0c;需要突破性的发…

62.ThreadLocal在数据库Connection对象上的应用

JDBC操作数据库Connection JDBC操作数据库的过程中,为了保证所有的操作在一个事务中: 1.使用的连接必须是同一个:service层开启事务的connection需要跟dao层访问数据库的connection保持一致。 2.线程并发情况下,每个线程只能操作各自的connection。每个线程的connection对…

MySQL中SQL语句的执行过程详解

1. 客户端连接和请求 客户端连接 在MySQL中&#xff0c;客户端连接和请求过程是执行SQL语句的第一步。该步骤主要涉及客户端如何连接到MySQL服务器&#xff0c;以及如何维护和管理客户端与服务器之间的会话。 客户端连接&#xff1a; 连接器&#xff08;Connector&#xff09…

amis源码 更新组件数据域的几种方法

更新组件数据域的几种方法&#xff1a; 默认都是合并数据&#xff0c;非覆盖(指定replace为true的才是覆盖)&#xff1a; const comp amisScoped.getComponentById(id);//或者getComponentByName(name) 1.comp.setData(values, replace); //更新多个值values&#xff0c; r…

Linux多进程和多线程(一)

进程 进程的概念 进程&#xff08;Process&#xff09;是操作系统对一个正在运行的程序的一种抽象。它是系统运行程序的最小单位&#xff0c;是资源分配和调度的基本单位。 进程的特点如下 进程是⼀个独⽴的可调度的活动, 由操作系统进⾏统⼀调度, 相应的任务会被调度到cpu …

Python逻辑控制语句 之 判断语句--if else结构

1.if else 的介绍 if else &#xff1a;如果 ... 否则 .... 2.if else 的语法 if 判断条件: 判断条件成立&#xff0c;执行的代码 else: 判断条件不成立&#xff0c;执行的代码 &#xff08;1&#xff09;else 是关键字, 后⾯需要 冒号 &#xff08;2&#xff09;存在冒号…

昇思25天学习打卡营第6天|函数式自动微分

今天学习自动微分。 神经网络训练有点类似于负反馈调节&#xff0c;所以需要用到微分运算。 用来计算获得损失和梯度。 求导求微分等等这些操作对于离开数学很久的人是很困难的一个天堑&#xff0c;幸好mindspore框架给我们提供了一系列简单的API屏蔽这些运算过程&#xff0c;…