使用BenchMarkSQL测试openGauss
使用BenchMarkSQL测试openGauss
作者:李强
Email:liqiang3@sugon.com
版本:1.0 2020-07-14 初稿
BenchmarkSQL是对OLTP数据库主流测试标准TPC-C的开源实现。目前最新版本为V5.0,该版本自带支持Firebird,Oracle和PostgreSQL数据库,测试结果详细信息存储在CSV文件中,并可以将结果转换为HTML报告。
本手册将介绍,如何对BenchMarkSQL 5.0进行改造,使其可以测试openGauss。
1. openGauss配置
首先配置openGauss数据库,创建测试所需的用户、数据库,并完成远程连接配置。
1.1 数据库信息
以曙光openGauss测试环境为例。
- IP:192.168.5.1
- Port:26000
- DB_HOME:/opt/huawei/install/data/db1
1.2 创建新用户
创建远程连接用户sugon,并授予SYSADMIN管理员权限。
su - omm postgres=# CREATE USER sugon PASSWORD 'Sugon2020'; postgres=# ALTER USER sugon SYSADMIN; |
1.3 创建新数据库
新建表空间和数据库。
postgres=# create tablespace sugondb relative location 'sugondb'; postgres=# create database sugondb with tablespace=sugondb; |
1.4 配置远程连接
使用gs_guc添加客户端访问验证。本次测试BenchMarkSQL测试软件放在openGauss本机,故客户端IP与数据库服务器IP相同。
配置完成后,使用gsql进行访问验证。
gs_guc set -N all -I all -h "host sugondb sugon 192.168.5.1/32 sha256" gsql -h 192.168.5.1 -p 26000 -Usugon -W Sugon2020 -d sugondb |
2. BenchMarkSQL配置
调整BenchMarkSQL配置,完成对openGauss的测试工具。
2.1 下载并上传BenchMarkSQL
下载BenchMarkSQL源码包,并上传和解压。
- 下载地址:https://sourceforge.net/projects/benchmarksql/
mkdir /opt/software/ && cd /opt/software/ rz # 上传benchmarksql-5.0.zip yum install -y unzip unzip benchmarksql-5.0.zip |
2.2 修改源代码
BenchMarkSQL默认并不支持Firebird,Oracle和PostgreSQL之外的数据库,需要添加openGauss的相关信息,否则执行测试时会检查报错。
cd /opt/software/benchmarksql-5.0/src/client vi jTPCC.java /oracle |
找到程序支持的数据库列表,复制并添加opengauss相关内容,使其支持opengauss。
2.3 安装编译软件包
BenchMarkSQL需要安装java依赖包和ant编译包。
yum install -y java ant java -version ant -version |
Java版本需大于JDK7,即>1.7.0。
2.4 编译
进程benchmarksql-5.0目录,使用ant完成编译。
cd /opt/software/benchmarksql-5.0 ant |
2.5 下载并上传openGauss JDBC驱动
BenchMarkSQL使用JDBC驱动包,连续各种数据库,故需要下载openGauss的JDBC驱动包。
- 下载地址:https://opengauss.org/zh/download.html
下载JDBC centos_x86_64版。
上传openGauss-1.0.0-JDBC.tar.gz到benchmarksql-5.0/lib路径,并解压。
cd /opt/software/benchmarksql-5.0/lib tar -xvzf openGauss-1.0.0-JDBC.tar.gz mkdir opengauss mv postgresql.jar opengauss/ |
打开https://opengauss.org/zh/docs/1.0.0/docs/Developerguide/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%8E%A5%E5%8F%A3.html
找到驱动类名称:org.postgresql.Driver
打开https://opengauss.org/zh/docs/1.0.0/docs/Developerguide/%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93-0.html
找到openGauss的JDBC连接字符串格式:jdbc:postgresql://host:port/database
2.6 创建openGauss的props文件
Props.*为BenchMarkSQL的测试配置文件,在生成测试数据和执行测试时,BenchMarkSQL都会使用该文件。
可复制已有的props.*模板,修改为可用于openGauss的配置文件。
cd /opt/software /benchmarksql-5.0/run cp props.ora props.opengauss vi props.opengauss # 修改连接信息 db=opengauss driver=org.postgresql.Driver conn=jdbc:postgresql://192.168.5.1:26000/sugondb user=sugon password=Sugon2020 # 修改OS监控的网卡和磁盘 osCollectorDevices=net_ens192 blk_sdb |
后期可根据测试场景调整更多参数。
2.7 修改funcs.sh文件
在benchmarksql-5.0/run/ funcs.sh文件中添加openGauss的JDBC路径和DB类型检查项。
vi funcs.sh # 添加openGauss的JDBC路径 opengauss) cp="../lib/opengauss/*:../lib/*" ;; |
2.8 修改runDatabaseBuild.sh文件
因openGauss暂不支持FOREIGN KEY和SEQUNCE,需要删除数据生成后的外键和序列操作。
cd /opt/software/benchmarksql-5.0/run vi runDatabaseBuild.sh #AFTER_LOAD="indexCreates foreignKeys extraHistID buildFinish" AFTER_LOAD="indexCreates buildFinish" |
复制AFTER_LOAD=行,注释掉原行。新行中删除foreignKeys和 extraHistID。
2.9 创建测试环境
使用runDatabaseBuild.sh脚本,生成测试数据。
cd /opt/software/benchmarksql-5.0/run ./runDatabaseBuild.sh props.opengauss |
…
2.10 检查确认
使用sugon用户登录,检查测试表是否已经创建。
su - omm gsql -h 192.168.5.1 -p 26000 -Usugon -W Sugon2020 -d sugondb sugondb=> select tablename,tableowner,created from pg_tables where schemaname='public'; |
确认bmsql_*相关测试表都已创建。
2.11 执行测试
使用./runBenchmark.sh脚本执行测试,得出TPMC值。
./runBenchmark.sh props.opengauss |
使用BenchMarkSQL测试openGauss相关推荐
- BenchmarkSQL 测试Oracle 12c TPC-C 性能
使用BenchmarkSQL测试一下Oracle 12c的TPC-C性能,同时对比一下PostgreSQL 9.5的性能. 测试机: 3 * PCI-E SSD,逻辑卷条带,XFS,数据块对齐,16核 ...
- postgresql测试题_使用BenchmarkSQL测试PostgreSQL
BenchmarkSQL是一款经典的开源数据库测试工具,内嵌了TPCC测试脚本,可以对EnterpriseDB.PostgreSQL.MySQL.Oracle以及SQL Server等数据库直接进行测 ...
- benchmarksql测试mysql_数据库压力测试工具 -- BenchmarkSQL 使用说明
关于数据库的压力测试,之前写过3篇Blog: 数据库基准测试(Database Benchmarking) 说明 数据库压力测试工具 -- Hammerdb 使用说明 数据库压力测试工具 -- Swi ...
- 手把手系列:(一)用Benchmarksql测试Oracle数据库性能
os 环境: Oracle linux /Oracle 12C RAC(搭建rac集群请参考这里),oracle12c数据库 从 sourceforge 下载Benchmarksql 5.0: htt ...
- benchmarksql测试mysql_使用benchmarkSQL测试数据库的TPCC
压力测试是指在MySQL上线前,需要进行大量的压力测试,从而达到交付的标准.压力测试不仅可以测试MySQL服务的稳定性,还可以测试出MySQL和系统的瓶颈. TPCC测试:Transaction Pr ...
- BenchmarkSQL测试工具 对 DM 达梦单机数据库进行tpcc测试
1 下载BenchmarkSQL 自行去官网下载 ,此处不贴下载链接: 略 : 自行去官网下载 ,个人实验用的是5.0版本 上传到到DM服务器并解压缩 [dmdba@centos benchmarks ...
- benchmarksql测试mysql_web安全(一):sql注入详解
SQL 注入分类方式: 提交方式:GET POST COOKIE参数注入:数字型/字符型/搜索型数据库类型:ACCESS/Mysql/MSSQL/Oracle手工注入方法:联合查询.报错注入.盲注(基 ...
- 服务器 解决方案_为什么无服务器解决方案不安全?
服务器 解决方案 In recent years, the growth of Serverless has been monumental. More and more organisations ...
- 如何成为Web开发人员—编写第一个Web应用程序
Where to begin? This is perhaps the most common question asked by all newcomers to IT. There are so ...
最新文章
- 【BZOJ】1045: [HAOI2008]糖果传递(中位数)
- 基于 RT-Thread的麦克纳姆轮小车循迹运动控制算法开发和研究
- 《设计团队协作权威指南》—第1章1.3节甘为螺丝钉
- linux网络编程之一般应用采用的协议和不同套接字的地址结构以及用户进程和内核通过哪些函数传递套接字的地址结构
- python 3.7.732位安装步骤_Python3.7安装pyaudio教程解析
- 比特币未来几个月怎么样_您需要了解的关于比特币技术的未来
- [常用知识]如何在Eclipse、myEclipse中分别配置Tomcat和JBoss应用服务器
- 【Codeforces 1114C】Trailing Loves (or L'oeufs?)
- Maven安装配置及在idea中配置
- 罗技无法使用计算机上的配置文件,Win10专业版罗技无线鼠标无法使用咋办?
- 一些常用单位之间的换算
- 金碟财务软找不到服务器怎么办,金蝶财务软件KIS标准版客户端连接不上服务器解决办法.pdf...
- python 相关系数矩阵_用numpy计算Pearson相关系数
- TIMESTAMP和DATETIME的区别以及选择
- 磊科路由器信号按键_超简单的磊科路由器重置方法
- mysql 1055 - Expression 解决
- 0926 - 微商的动力
- matlab求x对应y值,matlab 不知道函数表达式,已知y值求x
- 计算机为什么会出现网络用户,电脑登陆QQ经常提示异地登陆是怎么回事?
- 虚拟主机安装php网站教程,虚拟主机简单安装wordpress教程