作者简介:
迪颉科技是专注于企业数字化转型数据价值及数据治理,并在大数据、数据中台(零售、制造行业)、dataops/数仓以及数据驱动的应用等,提供专业解决方案的团队。在以往外企的从业经验中,将原来的Teradata等数仓大数据的模型/脚本/数据迁移到hadoop/HTAP开放平台,提供工具链和专业的服务及相关的解决方案。

测试时间及人员:
测试时间:2022/9/12 ~ 2022/09/23 测试人员:迪颉科技 项目组
测试背景:
为PG单机版迁移到Citus集群,集群架构与单机 PostgreSQL 的性能特性对比,从读写的效能,以及 SQL 兼容性、业务使用等多个方面进行验证。
测试环境:
同一台机器,不同数据库,分别是集群_db 和 data_platform 单机(单机)数据库,服务器信息如下:
IP:10.0.4.189 Port:5432
OS:CentOS Linux release 7.8.2003 (Core) CPU:64 vcore Memory:512G,Disk 24T
数据库:PG14.5 à Citus 11.0.6
集群采用一个CN 服务、两个Work

结论:
1、 采用集群(目前 2 节点 worker)后,性能大幅度提升(从 2x~ 42x 不等)
2、 按照生产的 SQL 测试了各类用例,SQL 完全兼容,运行良好
3、 验证了架构的扩展性和各种功能,无异常
4、联络人: Thomas 微信号:a29163631

测试用例:
测试数据信息概况:

集群按照日期字段(Date_Id)进行数据分布,两者都是分区表,按照日期字段(Date_Id)按月分区。
结论:大表扫描(18 亿),单机 7~28 分钟,集群 26~59 秒
记录数据统计:
1、单机data_platform 单机,运行结果:

nF_AGG_STOCK

nF_V_MONTHLY_STOCK

2、集群_db,运行结果:

nF_AGG_STOCK

nF_V_MONTHLY_STOCK

数据关联查询:

结论:2 个大表关联(18 亿 和 8 千 3 百万),单机:4 小时到 7 小时,集群:8 分钟到 11 分钟

单机data_platform 单机,运行结果:

nF_AGG_STOCK

nF_V_MONTHLY_STOCK

集群_db,运行结果:

nF_AGG_STOCKnF_V_MONTHLY_STOCK
数据关联查询:按照日期聚合
结论:2 个大表(按日期)关联(18 亿 和 8 千 3 百万),单机:6 小时到 7 小时,集群:12 分钟到 17 分钟

单机data_platform 单机,运行结果:

nF_AGG_STOCK

nF_V_MONTHLY_STOCK
集群_db,运行结果:
nF_AGG_STOCK
nF_V_MONTHLY_STOCK

数据关联查询:按照经营渠道聚合
结论:2 个大表(按经营渠道)关联(18 亿 和 8 千 3 百万),单机:5 小时到 5 小时,集群:12 分钟到 17 分钟
单机data_platform 单机,运行结果:
nF_AGG_STOCKnF_V_MONTHLY_STOCK

集群_db,运行结果:
nF_AGG_STOCK
nF_V_MONTHLY_STOCK
数据更新处理:

结论:单个大表(18亿),更新2百7万,单机:平均1分23秒,集群52秒;更新2前7万,平均9分43秒,集群:2分41秒;更新5千9万,平均23分53秒,集群:4分27秒;
单机data_platform 单机,运行结果:
nF_AGG_STOCK:2022-08-31(更新)
nF_AGG_STOCK:2022-08-31(修复)

nF_AGG_STOCK:9 月份(更新)

nF_AGG_STOCK: 9 月份(修复)

nF_AGG_STOCK: 8 月份(更新)

nF_AGG_STOCK: 8 月份(修复)

集群_db,运行结果:

nF_AGG_STOCK:2022-08-31(更新)

nF_AGG_STOCK:2022-08-31(修复)

nF_AGG_STOCK:9 月份(更新)

nF_AGG_STOCK: 9 月份(修复)
nF_AGG_STOCK: 8 月份(更新![请添加图片描述](https://img-blog.csdnimg.cn/be5896a2af6642b6b52c1b003f2b3d5b.jpenF_AGG_STOCK: 8 月份(


数据写入处理:

结论:源表(18 亿),加载 2 百 7 万,单机:平均 6 分 37 秒,集群:1 分 16 秒; 加载 6 千万左右,平均 14 分 30 秒,集群:2 分 8 秒;

单机data_platform 单机,运行结果:

nF_AGG_STOCK_VERIFY:2022 年 9 月份

nF_AGG_STOCK_VERIFY:2022 年 8 月份

nF_AGG_STOCK_VERIFY:2022 年 7 月份

nF_AGG_STOCK_VERIFY:2022 年 6 月份

nF_AGG_STOCK_VERIFY:2022 年 5 月份

/635aa53c9a5d46da922a6abe0a50dde7.jpeg
nF_AGG_STOCK_VERIFY:2022 年 4 月份
集群_db 运行结果:

nF_AGG_STOCK_VERIFY:2022 年 9 月

nF_AGG_STOCK_VERIFY:2022 年 8 月份

nF_AGG_STOCK_VERIFY:2022 年 7 月份

nF_AGG_STOCK_VERIFY:2022 年 6 月份

nF_AGG_STOCK_VERIFY:2022 年 5 月份

/ba94d93572324ade80033c3591f24d7f.jpeg
nF_AGG_STOCK_VERIFY:2022 年 4 月份
单机data_platform 单机,运行结果:

nF_AGG_STOCK_VERIFY:2022 年 3 月份

nF_AGG_STOCK_VERIFY:2022 年 2 月份
nF_AGG_STOCK_VERIFY:2022 年 1 月份

集群_db 运行结果:

nF_AGG_STOCK_VERIFY:2022 年 3 月份

nF_AGG_STOCK_VERIFY:2022 年 2 月份

nF_AGG_STOCK_VERIFY:2022 年 1 月份

数据中台Citus集群压测报告相关推荐

  1. mysql为什么要压测_mysql集群压测的详细介绍

    本篇文章给大家带来的内容是关于mysql集群压测的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. mysql压测 mysql自带就有一个叫mysqlslap的压力测试工具,通 ...

  2. Jmeter性能测试五--分布式集群压测

    一.分布式压测背景及原理介绍 1. 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处理能力非常高,或者说被压服务是一个集群,那么这个时候,你使用一台压力机是压不到瓶颈的,反而自己的压力机先瓶颈 ...

  3. DGIOT国内首家轻量级物联网开源平台——三千万电表集抄压测

    [小 迪 导读]:在物联平台运行时,设备不断增加,平台压力不断增加,平台的承受能力至关重要. dgiot方案 其他方案 模拟设备+真实设备测试平台承受能力 项目实践测试平台承受能力 压测背景 dgio ...

  4. redis主从读写分离replication复制数据+sentienl哨兵集群主备切换

    说明:最近公司在自己搭建了一套redis主从读写分离+sentinel哨兵集群主备切换,通过手工去搭建replication复制+主从架构+读写分离+哨兵集群+高可用redis集群架构 公司的已经搭建 ...

  5. 大数据介绍及集群安装

    大数据介绍及集群安装 第一部分 <大数据概述> 传统数据如何处理? 什么是大数据? 传统数据与大数据的对比 大数据的特点? 大数据前/后服务器系统安装部署区别是什么?. 大数据生态系统以及 ...

  6. 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍

    大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...

  7. jmeter生成优美的压力测试报告,jmeter生成html压测报告,jmeter压力测试

    文章主要介绍以下三点: 1:使用jmeter进行压力测试步骤 2:使用jmeter函数设置请求参数值 3:导出并生成一份html格式的测试报告 最终生成的测试报告如下: jmeter下载地址:http ...

  8. 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践

    优化一个分布式系统的吞吐能力,除了应用本身代码外,很大程度上是在优化它所依赖的中间件集群处理能力.如:kafka/redis/rabbitmq/postgresql/分布式存储(CephFS,Juic ...

  9. Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档

    Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档 一.Debezium概述 二.SQL Server 连接器的工作原理 1.Snapshot ...

最新文章

  1. Android实现双击事件的两种方式
  2. python中有没有switch_Python为什么没有switch/case语句?
  3. apache phoenix 安装试用
  4. boost::range_const_iterato相关的测试程序
  5. idea mysql错误提示_idea提示错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  6. 机器学习的gridSearchCV调参
  7. 使用Attribute简单地扩展WebForm
  8. office表格怎么冻结前两行_office 2010下excel表格中冻结功能操作任意行的技巧
  9. I - Circles (SDUT 2018 Autumn Individual Contest - I)
  10. Chrome浏览器:分享几个好用的谷歌浏览器拓展程序
  11. CSS3---移动端苹果安卓适配
  12. 1.认识华为数据通信
  13. 友宝:掘金生活物联网
  14. 台式计算机连接无线,台式机怎么连接wifi?台式机怎么连接无线网络的方法
  15. 程序猿是怎么找对象的
  16. Mac 技术篇-搜狗输入法英文首字母自动大小写设置,mac系统首字母自动大小写设置
  17. excel对同一个单元格中的内容去重
  18. 韩顺平mysql_韩顺平老师 Mysql优化 笔记
  19. 【转】程序员10大境界【走在路上,潜心修行】
  20. vue.runtime.esm.js:620 [Vue warn]: Error in nextTick: “TypeError: Cannot convert object to primitive

热门文章

  1. C++ 静态成员变量和静态成员函数
  2. android定义颜色数组,android – 我如何保存在array.xml中的颜色,并让它回到Color []数组...
  3. @SuppressWarnings的使用、作用、用法
  4. IEEE 802.15介绍
  5. 通过路由器实现两个网段的通信(上)
  6. 昇腾AI与“紫东.太初”赋能法律服务,多模态大模型迈向“多专多能”
  7. Java代码混淆工具-ProGuard
  8. iThoughtsX for Mac 5.29iOS 和 OS X 上的思维导图实用程序。
  9. CentOS 7.0.1503
  10. C语言笔记 · 输入函数(scanf(),getchar(),getche(),getch(),gets())