Greenplum TPC-H测试
目录
首先从官网下载TPC-H_Tools_v2.18.0.zip,解压
$ unzip TPC-H_Tools_v2.18.0.zip进入dbgen目录,拷贝Makefile
$ cd tpc/2.18.0_rc2/dbgen
$ cp makefile.suite Makefile修改Makefile,主要修改如下
CC = gcc
DATABASE = ORACLE
MACHINE = LINUX
WORKLOAD = TPCH编译dbgen
$ make./dbgen -h可以查看dbgen的用法
使用dbgen产生一些测试数据,-s表示scale(单位GB)
$ ./dbgen -s 50 -f
$ ll -h *.tbl将测试数据转换为PostgreSQL能够识别的格式,并删除末尾的分隔符|
$ for i in `ls *.tbl`; do sed 's/|$//' $i > ${i/tbl/csv}; done
$ ll -h *.csv创建软链接/tmp/dss-data指向包含csv文件的目录
$ ln -s `pwd` /tmp/dss-data下载pg_tpch
$ git clone https://github.com/digoal/pg_tpch.git将pg_tpch的文件逗拷贝到dbgen目录下面
$ cp -r ~/pg_tpch/* ~/tpc/2.18.0_rc2/dbgen创建一个queries目录,用于存放转换后的TPC-H测试SQL
$ cd ~/tpc/2.18.0_rc2/dbgen
$ mkdir -p dss/queries生成测试SQL,SF用于dbgen指定scale值
$ SF=50
$ 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设置gpdb几个参数
$ gpconfig -c enable_nestloop -v off
$ gpconfig -c work_mem -v 256MB
$ gpstop -u开始测试,结果输出到results目录
$ ./tpch.sh ./results tpch-db gpadmin结束后,可以使用以下方法生成CSV报告
$ php process.php ./results output.csv