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进行规格选择与性能压测。
目录
相关文章
|
1月前
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
37 1
|
5天前
|
存储 监控 前端开发
如何确保测试脚本的稳定性和可靠性?
确保测试脚本的稳定性和可靠性是保证性能测试结果准确有效的关键
|
5天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
5天前
|
存储 监控 测试技术
测试脚本编写和维护的最佳实践有哪些?
测试脚本编写和维护的最佳实践有哪些?
|
5天前
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
12 1
|
20天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
24 1
|
2月前
|
安全 JavaScript 前端开发
自动化测试的魔法:如何用Python编写你的第一个测试脚本
【8月更文挑战第41天】在软件的世界里,质量是王道。而自动化测试,就像是维护这个王国的骑士,确保我们的软件产品坚不可摧。本文将引导你进入自动化测试的奇妙世界,教你如何使用Python这把强大的魔法杖,编写出能够守护你代码安全的第一道防护咒语。让我们一起开启这场魔法之旅吧!
|
3月前
|
存储 算法 Cloud Native
【PolarDB-X列存魔法】揭秘TPC-H测试背后的性能优化秘籍!
【8月更文挑战第25天】阿里巴巴的云原生数据库PolarDB-X以其出色的性能、可靠性和扩展性闻名,在多种业务场景中广泛应用。尤其在列存储模式下,PolarDB-X针对分析型查询进行了优化,显著提升了数据读取效率。本文通过TPC-H基准测试探讨PolarDB-X列存执行计划的优化策略,包括高效数据扫描、专用查询算法以及动态调整执行计划等功能,以满足复杂查询的需求并提高数据分析性能。
92 1
|
3月前
|
XML Web App开发 数据挖掘
Postman接口测试工具全解析:功能、脚本编写及优缺点探讨
文章详细分析了Postman接口测试工具的功能、脚本编写、使用场景以及优缺点,强调了其在接口自动化测试中的强大能力,同时指出了其在性能分析方面的不足,并建议根据项目需求和个人偏好选择合适的接口测试工具。
116 1
|
2月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
67 0