暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用TPC-DS对GBase 8a进行性能测试

原创 pikaysw 2021-11-26
756

使用TPC-DS对GBase 8a进行性能测试

 

什么是TPC-DS

TPC-DS是一个面向决策支持系统(decision support system)的包含多维度常规应用模型的决策支持基准,包括查询(queries)与数据维护。此基准对被测系统(System Under Test’s, SUT)在决策支持系统层面上的表现进行的评估具有代表性。

TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张纬度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

 

关于TPC-DS的评价指标,可以查看该链接:

https://zhuanlan.zhihu.com/p/331849301

 

 

如何生成TPC-DS的数据

 

通过官网等途径拿到TPC-DS包后,会有一个dsdgen可执行文件,该文件用于生成随机数据。需要注意的是,不同版本的TPC-DS可能会适应不同版本的操作系统,所以可能会遇到无法执行该文件的情况,需要更换TPC-DS版本。

以生成300GB数据为例,通过以下命令来进行生成。

./dsdgen -dir /opt/data -SCALE 300

 

-dir后面指向的是数据生成的路径。

生成数据的时间随性能而定,生成300GB的数据大概需要六七个小时。

 

 

将生成的数据导入GBase 8a数据库

前提需要安装好GBase 8a数据库,安装步骤可以参考以下链接:

https://blog.csdn.net/weixin_43834971/article/details/121554720?spm=1001.2014.3001.5501

 

使用gccli命令,执行TPC-DS工具包下的建表脚本即可再数据库中创建适用于测试的数据表。

gccli -uroot -f -vvv </opt/create_table_tpcds.sql >> out.log

 

创建表成功后,即可将数据导入数据库中,可以将24个表的导入语句全部写到一个sql脚本中再执行。

数据导入语句,示例如下:

 

load data infile 'file://192.168.2.180/opt/tpcds/sqldata/catalog_page.dat' into table tpcds.catalog_page fields terminated by '|';

 

对24个表分别执行导入语句后,数据就导入成功了,接下来就可以进行TPC-DS测试了

 

TPC-DS测试

要进行TPC-DS测试,需要使用.sh脚本,批量执行sql语句来完成。

通过.sh脚本,记录查询语句的时间,结果等。通过for循环的方式,执行TPC-DS工具包中的99条查询语句即可。

 

需要注意的是,进行TPC-DS测试,可能会需要配置SSH互信,以便测试节点能无需密码和确认访问其他节点。

 

配置SSH互信

配置ssh config,将测试节点的StrictHostKeyChecking no 修改为 StrictHostKeyChecking ask

 

vim /etc/ssh/ssh_config

 

在master节点的/etc/ssh/sshd_config文件中去掉注释

 

vim /etc/ssh/sshd_config

 

RSAAuthentication yes      #开启私钥验证

PubkeyAuthentication yes   #开启公钥验证

 

 

之后所有节点使用DBA用户生成公钥、私钥。

 

ssh-keygen -t rsa -P ''

一路回车即可。

 

生成之后,将每个节点的id_rsa.pub文件的内容,都追加到测试节点的authorized_keys文件中。

这两个文件,在/home/gbase/.ssh 目录下。

 

之后重启sshd.service即可

 

之后验证ssh无密登录。 输入ssh nodeip。

配置SSH完成

 

Nmon监控

Nmon是一个可以监控服务器资源的工具,可以在TPC-DS测试期间监控服务器性能。

使用yum install nmon来进行安装。

安装后,使用

nmon -s8 -c300 -f -m /opt/nmondata

即可开启监控

-s代表每几秒监控一次

-c代表监控多少次

-f代表文件名中包含时间

-m指向存放监控文件的路径。

 

 

将生成的nmon监控文件,导入nmon工具的excel文件或者jar文件中,即可进行图形化分析。

 

 

 

如果想深入了解GBase 8a或有其他问题,欢迎在GBase 8a社区上寻找答案

http://www.gbase8a.com/

 

 

 

 

 

 

 

 

 

 

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论