Deepgreen的TPC-H测试步骤(简略版)

简介:

本文仅简略介绍Deepgreen数据库在TPC-H测试中需要注意的几个步骤,为朋友们以后做测试防雷,详细步骤参见德哥帖子

1.上传文件并解压缩:


ChrisdeMacBook-Pro:tpch chris$ scp master.zip tpc-h-tool.zip dgadmin@192.168.100.107:/home/dgadmin
dgadmin@192.168.100.107's password:
master.zip                                                                                                                                       100%   21KB   3.6MB/s   00:00
tpc-h-tool.zip

unzip xxx

2.设置Makefile参数:


[dgadmin@linux1 ~]$ cd tpch_2_17_0/
[dgadmin@linux1 tpch_2_17_0]$ ls
dbgen  dev-tools  ref_data
[dgadmin@linux1 tpch_2_17_0]$ cd dbgen/
[dgadmin@linux1 dbgen]$ cp makefile.suite Makefile
[dgadmin@linux1 dbgen]$ vim Makefile

主要修改CC、Database、Machine、Workload四行:

################
## CHANGE NAME OF ANSI COMPILER HERE
################
CC      = gcc
# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)
#                                  SQLSERVER, SYBASE, ORACLE, VECTORWISE
# Current values for MACHINE are:  ATT, DOS, HP, IBM, ICL, MVS,
#                                  SGI, SUN, U2200, VMS, LINUX, WIN32
# Current values for WORKLOAD are:  TPCH
DATABASE= ORACLE
MACHINE = LINUX
WORKLOAD = TPCH

3.编译:make


4.生成测试数据:


[dgadmin@linux1 dbgen]$ ./dbgen -s 1 -f
TPC-H Population Generator (Version 2.17.0)
Copyright Transaction Processing Performance Council 1994 - 2010

5.将测试数据转换为postgresql识别的格式,删除末尾的分隔符|


[dgadmin@linux1 dbgen]$ for i in `ls *.tbl`; do sed 's/|$//' $i > ${i/tbl/csv}; done

6.把包含csv文件的目录,软链接到/tmp/dss-data。tpch-pg脚本中一会要用到这个目录


[dgadmin@linux1 dbgen]$ pwd
/home/dgadmin/tpch_2_17_0/dbgen
[dgadmin@linux1 dbgen]$ ln -s /home/dgadmin/tpch_2_17_0/dbgen /tmp/dss-data

7.切换到脚本文件master目录下:


[dgadmin@linux1 ~]$ cd pg_tpch-master/
[dgadmin@linux1 pg_tpch-master]$ ls
drop-caches.sh  dss  LICENSE  process.php  README.md  tpch.sh
[dgadmin@linux1 pg_tpch-master]$ cd dss/
[dgadmin@linux1 dss]$ ls
templates  tpch-alter.sql  tpch-create.sql  tpch-index.sql  tpch-load.sql  tpch-pkeys.sql

8.修改tpch-load.sql文件,适应dg语法:


##########COPY命令格式有问题,为了获得更好的效果,使用列存储,修改如下举例##########
) with (APPENDONLY=true,BLOCKSIZE=2097152,ORIENTATION=COLUMN,COMPRESSTYPE=lz4,CHECKSUM=true,OIDS=false);
备注:greenplum的压缩类型为:QuickLZ

单独用一个小文件测试数据是否可用:


psql -d tech
COPY region FROM '/tmp/dss-data/region.csv' WITH csv DELIMITER '|’;

9.把master下的所有文件复制到tpch的dbgen目录下:


[dgadmin@linux1 ~]$ cp -r pg_tpch-master/* tpch_2_17_0/dbgen/
10.在dbgen文件夹下的dss目录下创建文件夹:
[dgadmin@linux1 dbgen]$ mkdir dss/queries

10.生成测试sql:


[dgadmin@linux1 dbgen]$ 
for q in `seq 1 22`
 do
     DSS_QUERY=dss/templates ./qgen $q >> dss/queries/$q.sql
     sed 's/^select/explain select/' dss/queries/$q.sql > dss/queries/$q.explain.sql
     cat dss/queries/$q.sql >> dss/queries/$q.explain.sql;
 done

11.连接并创建测试数据库tpch


[dgadmin@linux1 dbgen]$ psql -d postgres -p 15432
psql (8.2.15)
Type "help" for help.

postgres=# create database tpch owner=dgadmin;
CREATE DATABASE

12.设置几个数据库参数:


##########设置几个参数##########
gpconfig -c enable_nestloop -v off
gpconfig -c work_mem -v 256MB
gpstop -u


13.执行测试:


nohup ./tpch.sh ./results tpch dgadmin &


备注:如果报错误或者bench.log报timeout,调整tpch.sh文件中的时间为半小时或者更长即可。


目录
相关文章
|
3月前
|
存储 缓存 监控
Web 应用程序性能测试核心步骤
Web 应用程序性能测试核心步骤
|
1月前
|
存储 安全 测试技术
软件测试:确保代码质量与用户满意度的关键步骤
软件测试:确保代码质量与用户满意度的关键步骤
|
7月前
|
SQL 安全 网络安全
交易所开发测试版丨交易所系统开发规则玩法/架构设计/项目步骤/方案逻辑/案例解析/源码部署
The development process of the exchange system involves multiple steps and links. The following is the detailed process and steps for the development of the exchange system:
|
3月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
203 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
2天前
|
API 开发者
免费邮箱API发送邮件测试调试的方法和步骤
本文介绍了使用免费邮箱API如aoksend、Mailgun、SMTP2GO发送邮件的测试调试步骤:选择合适的API,获取访问密钥,配置邮件参数,编写测试代码,调试和测试,查看发送日志,以及优化改进邮件发送功能,确保其稳定运行。
|
1月前
|
安全 测试技术
【软件设计师备考 专题 】软件测试的原则与方法:确保软件质量的关键步骤
【软件设计师备考 专题 】软件测试的原则与方法:确保软件质量的关键步骤
41 0
|
1月前
|
安全 测试技术 API
|
1月前
|
敏捷开发 Devops 测试技术
深入理解与应用单元测试:提升软件质量的关键步骤
【2月更文挑战第19天】 本文将深入探讨单元测试在软件开发周期中的作用,分析其对提升软件质量的重要性,并介绍如何有效地实施单元测试。通过阐述单元测试的基本原理、关键实践和常见问题解决策略,旨在为软件开发者提供一套系统的单元测试方法论,以支持更健壮、可靠和可维护的软件产品的构建。
|
2月前
|
人工智能 安全
外汇MT5/MT4交易所平台系统开发测试版/案例设计/策略步骤/功能需求/源码程序
When developing the MT5/MT4 foreign exchange documentary trading system, the following functions and intelligence can also be considered:
|
3月前
|
测试技术 持续交付
探索单元测试和 E2E 测试:提升软件质量的关键步骤(下)
探索单元测试和 E2E 测试:提升软件质量的关键步骤(下)
探索单元测试和 E2E 测试:提升软件质量的关键步骤(下)

热门文章

最新文章