openLooKeng-gaussDB多分片tpc-ds指导

本文旨在介绍对openLooKeng进行多分片特性进行tpc-ds99语句性能测试的方法,使用的工具为apachejmeter,使用的数据源为gaussDB200。

1. gaussDB连接使用方法指导

1.1 数据库连接

1. 以操作系统用户omm登录GaussDB200集群的任一主机

2. 执行“gs_om-t status --detail”命令查询集群各实例情况

3. 确认CN的端口号的方法,执行”cat /srv/BigData/mppdb/data1/coordinator/postgresql.conf | grep port”,结果如下图所示:

ps:port=25308为CN的端口号

1.1.1 本地连接数据库的方法

1、使用用户omm登录集群主机

2、执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

3、登录命令行客户端:gsql -d postgres-p25308

1.1.2 远程连接数据库的方法:

默认情况下gaussDB200只能在集群主机上通过自带的客户端登录数据库,通过配置IP规则后方能从远程登录数据库。

1. 从浏览器登录(URL一般为http://serverIp:8080/web),在manager上添加数据库用户testuser,执行过程如下图:

2. 允许用户testuser从xx.xx.xx.xx(openLooKeng服务器serverip)访问gaussDB

以omm登录集群主机执行以下shell命令:

gs_guc set -Zcoordinator -N all -I all -h "host all testuser xx.xx.xx.xx/16sha256"  ---假设ip掩码取16位

可通过cat/srv/BigData/mppdb/data1/coordinator/pg_hba.conf | grep testuser检查是否添加成功

对于openLooKeng服务器为集群且IP网段不同的场景,由于每个节点都有可能需要连接gaussDBserver,那么需要执行者对每个网段的server都按上述方法添加到列表。

重启gaussDB

1.1.3 如需要重启GaussDB,请按以下步骤执行:

1、以omm账户登录集群主机执行以下命令:

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

cm_ctl stop && cm_ctl start

1.2 gaussDB作为数据源接入openLooKeng:

在openLooKeng服务器的vietc/catalogs/gaussdb.properties内容如下:

connector.name=opengauss

connection-url=jdbc:postgresql://xx.xx.xx.xx:portId/postgres?useSSL=false

connection-user=testuser

connection-password=******

use-connection-pool=true

ps:设置use-connection-pool非常重要,由于我们所使用的环境从openLooKengserver建立到gaussDB的jdbcconnection耗时相对很长,不使用连接池会导致query的相当大比例的时间消耗在频繁建立connection这环节上,进而导致多分片的效果打折扣。

2. 使用JMeter执行tpc-ds测试

2.1 生成tpcds测试数据的方法:

1. 从官网下载tpc-ds源码(http://tpc.org/tpc_documents_current_versions/current_specifications5.asp)

2. 将tpcds-kit-master工具上传至任一linux服务器

3. 进入tools目录,然后执行make

4. 生成tpcds测试数据,例:生成1G数据(-scale参数表示数据规模,单位为GB)并写入/srv/tpcds-data0

a. mkdir -p /srv/tpcds-data0

b. ./dsdgen -dir /srv/tpcds-data0/ -scale 1


5. 对生成数据做格式加工处理

在/srv/tpcds-data0创建handled目录,并把应用下面shell语句放入脚本执行数据格式加工处理

6. 拷贝handled目录内已处理过的数据到安装了JMETER的主机上

2.2 测试数据导入GaussDB数据库

推荐使用通过DataStudio工具(请从以下网址下载:https://support.huawei.com/)导入数据:

1、登录DataStudio并连接GaussDB,界面如下:

“主机”一栏请填写GaussBserver的真实ip

“数据库”一栏请根据实际数据库名填写

2、创建tpc-dsschema及tpc-ds表:

导入数据前先创表(createschematpcds; 然后拷贝tpcds工具的/tools/tpcds.sql里的语句完成创表工作)

3、将tpcds-kit生成的测试数据文件导入GaussDB,如下图:

2.3 JMeter测试指引

2.3.1 JMeter启动内存设置

修改JMeter启动内存避免测试过程发生OOM:

apache-jmeter-5.2.1\bin\

2.3.2 创建JMeter测试工程

测试工程参考模板:

(附件不传不了,文件内容见文章末尾, jmeter-test.jmx)

将模板放入jmeter的projects目录下,从JMeterUI上选择打开该文件

2.3.3 配置openLooKeng连接信息

指定openLooKeng的URL(需包含catalogName、schemaName),如:

jdbc:lk://xx.xx.xx.xx:8096/gaussdb/testuser

jdbc driverclass填:io.hetu.core.jdbc.OpenLooKengDriver

前置条件是已经把hetu-jdbc-XXX-SNAPSHOT.jar包放入对应的目录(见下图)

设置用例文件,如下图:


模板参考(在每行用例的第一列加”//”,测试时可跳过该用例):

设置每个条sql语句的循环次数:


经过以上操作,现在可以开始启动测试咯

测试进行的同时可以查收已完成的语句的执行结果,如下图所示(根据需要可通过“SaveTable Data”可以保存测试结果,方便后期分析):


ps:在linux服务器上编辑的文档,条件有限,格式将就着看吧

以下为jmeter-test.jmx的内容

false

false

DEFAULT_DATASOURCE

tpcds

=

DEFAULT_QUERY_FILE

..\projects\queries\hana-tpcds-perf-throught-onequery.csv

=

CONCURRENT_USERS

1

=

ITERATIONS

2

=

DB_HOST

76.75.68.12

=

DB_PORT

8099

=

D:\work\JDBCDRIVER,D:\work\JDBCDRIVER\hetu-jdbc-1.3.0-SNAPSHOT.jar

continue

false

-1

${CONCURRENT_USERS}

1

false

false

TPCDS-POOL

${CONCURRENT_USERS}

1000

1000

true

DEFAULT

true

true

0

SELECT 1

jdbc:lk://${DB_HOST}:${DB_PORT}/mysql/tpcds

io.hetu.core.jdbc.OpenLooKengDriver

root

,

${__P(QUERY_FILE,${DEFAULT_QUERY_FILE})}

false

true

false

shareMode.group

true

true

10

Skip execution of the tests that are commented out

"${Skip Execution}" != "//" && "${Skip Execution}" != "*"

false

TPCDS-POOL

Select Statement

${Test Query}

Store as String

false

saveConfig

true

true

true

true

true

true

true

true

true

true

true

true

true

true

true

true

false

true

0

true

true

true

true

true

true

true

true

true

true

false

saveConfig

true

true

true

true

true

true

true

false

true

true

false

false

false

true

false

false

false

true

0

true

true

true

true

true

true

false

saveConfig

true

true

true

true

true

true

true

false

true

true

false

false

false

true

false

false

false

true

0

true

true

true

true

true

true

你可能感兴趣的:(openLooKeng-gaussDB多分片tpc-ds指导)