TPC-H 是一个面向分析型业务(AP)的基准测试,它由一系列热点查询组成,这些热点查询都是高度复杂的,因此执行时间往往都比较长。 在本次实验测试中,将手动向数据库加载TPC-H数据,并保存在名为 tpch 的数据库中。默认TPC-H数据库的表缺少索引,数据库的参数并没有做任何优化,因此执行效率会比较差。 本实验比较浅显,使用openGauss的参数自调优(X-Tuner:gs_xtuner)功能,对数据库进行参数优化,以提升数据库运行性能,让大家对X-Tuner参数自调优有一个初步的了解。
环境信息
OS:CentOS Linux release 7.6.1810
openGauss:2.0.0
CPU:1core
Memory:4GB
测试数据脚本清单如下:
[omm@lab01 ~]$ ls -l ~/tpch-kit-back/
total 1076780
-rw------- 1 omm dbgrp 24196144 Apr 24 15:39 customer.tbl
-rw------- 1 omm dbgrp 3814 Apr 24 15:39 dss.ddl
-rw------- 1 omm dbgrp 753862072 Apr 24 15:39 lineitem.tbl
-rw------- 1 omm dbgrp 287 May 25 10:52 load.sh
-rw------- 1 omm dbgrp 2199 Apr 24 15:16 nation.tbl
-rw------- 1 omm dbgrp 170452161 Apr 24 15:16 orders.tbl
-rw------- 1 omm dbgrp 10553197 Apr 24 15:11 out0
-rw------- 1 omm dbgrp 118184616 Apr 24 15:10 partsupp.tbl
-rw------- 1 omm dbgrp 23935125 Apr 24 15:11 part.tbl
drwx------ 3 omm dbgrp 4096 Apr 24 15:39 queries
-rw------- 1 omm dbgrp 384 Apr 24 15:07 region.tbl
-rw------- 1 omm dbgrp 1399184 Apr 24 15:07 supplier.tbl
1. 配置pip,并安装setuptools-rust模块
[root@lab01 ~]# wget https://bootstrap.pypa.io/get-pip.py
[root@lab01 ~]# python3 get-pip.py
[root@lab01 ~]# pip -V pip 21.1.2 from /usr/local/lib/python3.6/site-packages/
pip (python 3.6)
[root@lab01 ~]# pip install setuptools-rust
2. 安装依赖包
[omm@lab01 xtuner]$ pip install joblib
[omm@lab01 xtuner]$ pip install threadpoolctl
3. 创建数据库并导入数据
-- 创建数据库tpch
[omm@lab01 ~]$ gsql -d postgres -p 26000 -c "create database tpch with encoding='UTF-8';"
-- 创建测试表
[omm@lab01 ~]$ gsql -d tpch -p 26000 -f ~/tpch-kit-back/dss.ddl
-- 加载测试数据并统计分析
[omm@lab01 ~]$ vi load.sh
---------------------------------------
for i in `ls *.tbl`; do
table=${i/.tbl/}
echo "Loading $table..."
sed 's/|$//' $i > /tmp/$i
gsql -d tpch -p 26000 -c "TRUNCATE $table"
gsql -d tpch -p 26000 -c "\\copy $table FROM '/home/omm/tpch-kit-back/$i' CSV DELIMITER '|'"
gsql -d tpch -p 26000 -c "ANALYZE $table"
done
---------------------------------------
sh load.sh
4. 编辑requirements.txt文件
[omm@lab01 ~]$ cd /gauss/app/bin/dbmind/xtuner/
[omm@lab01 xtuner]$ vi requirements.txt
---------------------------------------
删除:
tensorflow>=2.2.0
keras-rl2
---------------------------------------
5. 生成gs_xtuner参数调优工具(需要连接外网)
[omm@lab01 ~]$ cd /gauss/app/bin/dbmind/xtuner
[omm@lab01 xtuner]$ p