benchmarkSql默认支持oracle和postgres数据库。其他类型的数据库需要修改源码,重新编译才能支持。本文以人大金仓数据库kingbase为例,完成一次测试。步骤如下:
1、修改源码,使之支持相应的数据库
benchmarkSql默认支持oracle和postgres数据库。其他类型的数据库需要修改源码,重新编译才能支持。本文以人大金仓数据库kingbase为例,完成一次测试。步骤如下:
src/client/jTPCC.java

else if (iDB.equals("kingbase"))
            dbType = DB_UNKNOWN;

2、增加kingbase的jdbc驱动,放到lib文件夹下。jdbc驱动可以去人大金仓官网下载。
在这里插入图片描述

3、配置驱动路径 BenchmarkSQL/run/funcs.sh

kingbase)
   cp="../lib/kingbase/*:../lib/*"
       ;;

在这里插入图片描述
在这里插入图片描述

**4、编译,在有build.xml文件的根目录下。输入 ant。编译完成后/dist/下会生成一个jar包。**BenchmarkSQL-5.0.jar

注意:

BenchMarkSQL5.0需要1.8以上版本的jdk,本机jdk版本低于1.8时,编译会失败报错。
5、run目录下增加一个数据库测试配置 文件,名称为props.kingbase ,内容如下:

db=kingbase   ##名称funcs.sh中加的保持一致
driver=com.kingbase8.Driver
conn=jdbc:kingbase8://hostIp:端口/test  ##数据库连接
user=kingbasedbt  ##登录用户
password=Password  ##登录密码
warehouses=100   ##测试数据仓数
loadWorkers=4   ## 灌数据线程数
terminals=100    ##测试并发数
runTxnsPerTerminal=0 
runMins=3  ##测试时长
limitTxnsPerMin=300000000
terminalWarehouseFixed=true
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4

6、灌数据run目录下使用命令 。./runDatabaseBuild.sh props.kingbase
这一步会按照benchmarkSql内置的sql语句,在库内创建10张表,并向表中插入数据、索引和主外键。

注意:

如果这一步sql语句执行时报错,一般是有的特殊数据库会有特殊语法。找到对应的文件,将sql语句按照正确语法修改即可。
7、执行测试

./runBenchmark.sh props.kingbase

结果如下:
在这里插入图片描述
其中 tpmc:平均每分钟产生35027个新订单,代表了系统有效吞吐量。
tpmTotal:新订单总数
Session Start:开始时间
Session End:结束时间
Transaction Count:处理总事务数

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐