Deepgreen与Greenplum TPC-H性能测试对比(使用VitesseData脚本)

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 前两天发了一篇基于[德哥测试脚本]的测试对比文章《Deepgreen与Greenplum TPC-H性能测试对比(使用德哥脚本)》,由于测试数据量少,两个数据库有几轮测试都是1秒持平,但是大多数测试Deepgreen均优于Greenplum,有的甚至快至百倍,感兴趣的朋友可以再回头看看。
前两天发了一篇基于[ 德哥测试脚本]的测试对比文章 《Deepgreen与Greenplum TPC-H性能测试对比(使用德哥脚本)》,由于测试数据量少,两个数据库有几轮测试都是1秒持平,但是大多数测试Deepgreen均优于Greenplum,有的甚至快至百倍,感兴趣的朋友可以再回头看看。
今天分享一下Deepgreen提供的TPC-H测试脚本,这个脚本分为浮点类型、数值类型两类进行22轮测试,更加细化,并且结果值更加中肯。

一、测试环境
服务器         IP              节点
Master          192.168.100.107 1 Master
Segment1        192.168.100.107 3 instance
Segment2        192.168.100.106 3 instance
软件版本:
Greenplum 4.3.12
Deepgreen 16.17

二、TPC-H脚本安装
脚本放在github上,有3种方式可以下载,为方便大家,分别介绍一下:
1. 如果已经与github主机建立ssh互信(点此访问建立方法):
# 使用语句克隆repo:
git clone git@github.com:cktan/bench.git
# 初始化子模块(tpch-dbgen):
cd bench;
git submodule init
git submodule update
2.如果懒得建立ssh互信,但是本机装有git工具:
# 克隆bench:
git clone https://github.com/vitessedata/bench
# 切换目录:
cd bench
# 克隆tpch-dbgen模块:
git clone https://github.com/electrum/tpch-dbgen   
3. 如果你机器上什么都没有,或者不能直接访问外网:
访问 - https://github.com/vitessedata/bench,点击右侧clone or download按钮
,下载zip包
访问 - https://github.com/electrum/tpch-dbgen,点击右侧clone or download按钮,下载zip包
将两个压缩包整合上传到服务器解压缩,并把tpch-dbgen文件夹放到bench下面
  访问 - https://github.com/vitessedata/bench,点击右侧clone or download按钮
,下载zip包
访问 - https://github.com/electrum/tpch-dbgen,点击右侧clone or download按钮,下载zip包
将两个压缩包整合上传到服务器解压缩,并把tpch-dbgen文件夹放到bench下面

三、执行测试
1. 登录服务器重新编译:
cd bench/tpch-dbgen
make clean
rm *.tbl
make
2. 生成测试文件、初始化数据库、加载数据:
[dgadmin@linux1 bench]$ python create.py 10f
dbgen 10
TPC-H Population Generator (Version 2.14.0)
Copyright Transaction Processing Performance Council 1994 - 2010
TPC-H Population Generator (Version 2.14.0)
Copyright Transaction Processing Performance Council 1994 - 2010
TPC-H Population Generator (Version 2.14.0)
Copyright Transaction Processing Performance Council 1994 - 2010
TPC-H Population Generator (Version 2.14.0)
Copyright Transaction Processing Performance Council 1994 - 2010
TPC-H Population Generator (Version 2.14.0)
Copyright Transaction Processing Performance Council 1994 - 2010
createdb tpch10f
mktab
mkview
load
    customer
    lineitem
    nation
    orders
    part
    partsupp
    region
    supplier
analyze
WARNING:  skipping "__gp_localid" --- cannot analyze indexes, views, external tables or special system tables
WARNING:  skipping "__gp_masterid" --- cannot analyze indexes, views, external tables or special system tables
WARNING:  skipping "__gp_log_segment_ext" --- cannot analyze indexes, views, external tables or special system tables
WARNING:  skipping "__gp_log_master_ext" --- cannot analyze indexes, views, external tables or special system tables
WARNING:  skipping "gp_disk_free" --- cannot analyze indexes, views, external tables or special system tables
备注:create.py脚本解读:
  • 该脚本用于创建测试数据文件、创建数据库、初始化表、初始化试图、加载数据文件到数据库表、Analyze数据库。
  • 它接受一个参数,用于指定测试的数据类型及数据量,具体如下:
    • 1f: scale 1 with float8 type
    • 1n: scale 1 with numeric type
    • 10f: scale 10 with float8 type
    • 10n: scale 10 with numeric type
3. 执行测试:
[dgadmin@linux1 bench]$ python run.py 10f
WARNING:  "work_mem": setting is deprecated, and may be removed in a future release.
ERROR:  unrecognized configuration parameter "vitesse.thread"
WARNING:  "work_mem": setting is deprecated, and may be removed in a future release.
ERROR:  unrecognized configuration parameter "vitesse.thread"
备注:run.py脚本解读:该脚本用于执行测试,脚本接受一个参数,指定测试类型及数据量,与create.py脚本参数一致。

四、对比结果
最终结果分四列展示,分别为:查询编号、Greenplum查询耗时、Deepgreen查询耗时、加速倍数。下面为10G数据量解释结论:
1. float8:
1 13514 2399 5.63
2 1850 616 3.00
3 6011 1930 3.11
4 5647 1566 3.61
5 5688 1711 3.32
6 3432 859 4.00
7 5651 1803 3.13
8 5357 1773 3.02
9 12323 4253 2.90
10 7532 3818 1.97
11 1933 1343 1.44
12 5605 1727 3.25
13 5422 3337 1.62
14 3433 999 3.44
15 7222 1970 3.67
16 1969 761 2.59
17 22211 7526 2.95
18 15879 4745 3.35
19 4274 1842 2.32
20 6826 2915 2.34
21 18977 4274 4.44
22 6388 2493 2.56
tot: 167144 54660 3.06
75007c84715f9d87b97b2ee04ff864d4143ccbea
2. numeric:
[dgadmin@linux1 bench]$ python run.py 10n
WARNING:  "work_mem": setting is deprecated, and may be removed in a future release.
ERROR:  unrecognized configuration parameter "vitesse.thread"
WARNING:  "work_mem": setting is deprecated, and may be removed in a future release.
ERROR:  unrecognized configuration parameter "vitesse.thread"
1 32405 21151 1.53
2 2303 702 3.28
3 5934 1969 3.01
4 5653 1766 3.20
5 5471 1673 3.27
6 4307 1264 3.41
7 5396 1889 2.86
8 6055 1913 3.17
9 11853 4544 2.61
10 6006 2696 2.23
11 2153 1299 1.66
12 5619 2284 2.46
13 5417 3429 1.58
14 3526 1136 3.10
15 8265 2910 2.84
16 1768 808 2.19
17 23811 14610 1.63
18 40284 28665 1.41
19 4321 2359 1.83
20 7177 4440 1.62
21 16938 5039 3.36
22 6439 2685 2.40
tot: 211101 109231 1.93l
b1f6dc468dfffa1fc29adb57b0c239ba719d17cc

End~
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
2月前
|
测试技术 数据库
自动化测试的救赎:揭秘代码复用的艺术,让测试脚本涅槃重生!
【8月更文挑战第21天】自动化测试对提升软件质量和开发效率至关重要,但其维护成本随项目规模增长而上升。采用代码复用策略能显著减轻这一负担。本文概述了自动化测试中实现代码复用的方法,包括抽象与封装、模块化、参数化、继承及利用测试框架等,以减少重复劳动、提高代码质量与开发速度,并简化维护流程。掌握这些策略将助力构建高效、可维护的自动化测试体系。
47 5
|
1月前
|
安全 JavaScript 前端开发
自动化测试的魔法:如何用Python编写你的第一个测试脚本
【8月更文挑战第41天】在软件的世界里,质量是王道。而自动化测试,就像是维护这个王国的骑士,确保我们的软件产品坚不可摧。本文将引导你进入自动化测试的奇妙世界,教你如何使用Python这把强大的魔法杖,编写出能够守护你代码安全的第一道防护咒语。让我们一起开启这场魔法之旅吧!
|
2月前
|
存储 算法 Cloud Native
【PolarDB-X列存魔法】揭秘TPC-H测试背后的性能优化秘籍!
【8月更文挑战第25天】阿里巴巴的云原生数据库PolarDB-X以其出色的性能、可靠性和扩展性闻名,在多种业务场景中广泛应用。尤其在列存储模式下,PolarDB-X针对分析型查询进行了优化,显著提升了数据读取效率。本文通过TPC-H基准测试探讨PolarDB-X列存执行计划的优化策略,包括高效数据扫描、专用查询算法以及动态调整执行计划等功能,以满足复杂查询的需求并提高数据分析性能。
56 1
|
1月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
24 0
|
2月前
|
XML Web App开发 数据挖掘
Postman接口测试工具全解析:功能、脚本编写及优缺点探讨
文章详细分析了Postman接口测试工具的功能、脚本编写、使用场景以及优缺点,强调了其在接口自动化测试中的强大能力,同时指出了其在性能分析方面的不足,并建议根据项目需求和个人偏好选择合适的接口测试工具。
65 1
|
3月前
|
SQL 弹性计算 测试技术
实时数仓Hologres TPC-H及点查性能开箱测试
Hologres现在仍然是TPCH-30000榜单的全球第一,领先第二名高达23%,最新发布的2.2版本相比之前的1.x的版本性能大约提升100%。
|
2月前
|
C# Windows IDE
WPF入门实战:零基础快速搭建第一个应用程序,让你的开发之旅更上一层楼!
【8月更文挑战第31天】在软件开发领域,WPF(Windows Presentation Foundation)是一种流行的图形界面技术,用于创建桌面应用程序。本文详细介绍如何快速搭建首个WPF应用,包括安装.NET Framework和Visual Studio、理解基础概念、创建新项目、设计界面、添加逻辑及运行调试等关键步骤,帮助初学者顺利入门并完成简单应用的开发。
52 0
|
2月前
|
测试技术 持续交付 开发者
自动化测试之美:从零开始构建Python测试脚本
【8月更文挑战第31天】在软件开发的海洋中,自动化测试是一艘能够引领我们高效航行的帆船。本文将带领读者踏上一段探索性旅程,深入浅出地介绍如何使用Python语言编写自动化测试脚本。从搭建测试环境到编写实用测试案例,我们将一步步解锁软件测试的秘密,确保代码质量和项目成功。让我们启航吧!
|
2月前
|
消息中间件 Kafka
使用kafka自带脚本进行压力测试
使用kafka自带脚本进行压力测试
|
3月前
|
机器学习/深度学习 数据采集 人工智能
探索自动化测试的边界:从脚本到智能
在软件开发领域,自动化测试已成为确保产品质量和提升开发效率的关键因素。随着人工智能和机器学习技术的飞速发展,传统的自动化测试方法正面临重大的变革。本文将从多个角度分析自动化测试的现状与未来趋势,探讨如何通过集成先进的技术手段优化测试流程,并预测自动化测试领域的发展方向。
43 1