Tpc-h测试greenplum性能

Tpc-h测试greenplum性能

 

首先一点忠告:tpch不要到官网下,下不下来

建议到csdn下载:tpch-dbgen.tar.gz

然后TPCH是什么?

TPC-H包括8张表(表上有些约束等需要满足,参见TPC-H规范,不再罗列),如下:
PART:表示零件的信息
SUPPLIER:表示供货商的信息
PARTSUPP:表示供货商的零件的信息
CUSTOMER:表示消费者的信息
ORDERS:表示订单的信息
LINEITEM:表示在线商品的信息
NATION:表示国家的信息
REGION:表示地区的信息
这8张表之间的关系,如图所示

http://img0.ph.126.net/ZJmJ-Gff7zN402A7Hb7oXg==/4859102523056486814.png

 

  1. 安装tpch并生成10G测试数据

Tar -zxvf tpch-dbgen.tar.gz

解压玩安装包之后,会多出一个dbgen文件夹,执行cd dbgen到degen目录下

cp makefile.sute Makefile

vim Makefile

修改如下:

CC = gcc

DATABASE= ORACLE
MACHINE = LINUX
WORKLOAD = TPCH

然后执行make,生成tpch的仿真数据,dbgen下面会多了8个表名命名的.tbl文件

注意:有的安装包如果发现包含makefile文件的内容已修改,可直接make,按上面的操作反而会报错。

 

执行下面的命令生成10G仿真数据: ./dbgen -s 10 -f(依照机器性能的不同所需时间不同,大概几分钟)

 

然后将测试数据转化为GP能够识别的格式,删除末尾的分隔符|。

for i in ls *.tbl; do sed 's/|$//' $i > ${i/tbl/csv}; done

 

  1. 下载pg_tpch并关联tpch

wget https://github.com/tvondra/pg_tpch/archive/master.zip

解压安装

在他的dss目录下面有加载tpch数据到gp的脚本

其中tpch-load.sql是列式存储,tpch-load_pg.sql是行存储,具体的优化熟悉gp用法之后自行修改优化。其他几个脚本是创建表的脚本。

 

将pg_tpch的文件逗拷贝到dbgen下面:

cp -r pg_tpch-master/*       /dbgen

 

创建一个queries目录,用于存放转换后的tpc-h 测试SQL。

mkdir dss/queries

 

生成测试SQL

for q in `seq 1 22`

do

    DSS_QUERY=dss/templates ./qgen -s $SF $q > dss/queries/$q.sql

    sed 's/^select/explain select/' dss/queries/$q.sql > dss/queries/$q.explain.sql

done

  1. Load数据到GP

在greenplum数据库中创建数据库和用户(也可以不创建,只要有就可以)

 

配置pg_hba.conf

$ vi $MASTER_DATA_DIRECTORY/pg_hba.conf

host all all 127.0.0.1/32 trust

$ gpstop -u

设置几个参数:

gpconfig -c enable_nestloop -v off

gpconfig -c work_mem -v 256MB

gpstop -u

测试,使用digoal用户连接到postgres数据库,结果输出到./results目录:
自动创建表,加载数据。详见tpch.sh脚本

./tpch.sh ./results tpch-db tpch-user (机器性能不同所需时间不同,大概需要半小时)

结束后,可以使用以下方法生成CSV报告。

php process.php ./results output.csv

 

转载于:https://my.oschina.net/zhouwang93/blog/1833079

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值