BenchmarkSQL 5.0源码修改--支持人大金仓数据库 KingBase
benchmarksql 在5.0版本中没有对人大金仓数据库(KingBase)的TPC-C测试支持,本文通过修改部分源码,让benchmarksql 5.0支持KingBase。
个人理解: BenchmarkSQL 是通过jdbc方式连接数据库,通过DML操作来对数据进行性能测试。
所以,对于不同类型的数据,BenchmarkSQL只要获取到对应的驱动,及正确的URL格式,账号密码等,就能与不同类型数据库进行连接,
再对数据库进行DML操作来对数据库进行性能测试。一般常用的数据库的DML语句都是差不多的。
所以,要BenchmarkSQL不同类型数据库,基本上只要增加该数据库的驱动,连接数据库的配置文件,及源码里对数据库类型做个判断就差不多了。
以下是 简单几步实现BenchmarkSQL对人大金仓数据库性能测试
环境:
centos 7.5
benchmarksql 5.0
kingbase 8
jdk 1.8
1. 源码下载,解压
https://download.csdn.net/download/ffb920724/14141743 已支持MySQL
下载BenchmarkSQL5.0版本,目录结构如下
2. 修改源码
2.1 修改 src/client/jTPCC.java,增加kingbase相关部分,如下所示,(保持和MySQL一致)
2.2 (无需改动,已存在default情况)修改src/client/jTPCCConnection.java, SQL子查询增加"AS L"别名,如下所示:
可见,除了jTPCCConfig.DB_POSTGRES这种情况特殊,其他数据库类型(dbType) 统一默认走default;
2.3(这步不需要改动)具体看看jTPCCConfig都有哪些数据库类型,包括 oracle,postgres,其他数据库默认使用DB_UNKNOWN ,包括MySQL,人大金仓等,和2.1中数据库类型赋值对应;
2.4 在lib包下,创建人大金仓目录并添加人大金仓数据库驱动,如下:
注意 要把log4j也加进去,如图所示架包。不然无法打印日志会报错。
2.5 配置人大金仓架包路径 修改/data/BenchmarkSQL/run/funcs.sh文件,添加人大金仓数据库驱动路径
保持和mysql一样格式,注意后面没有 ;;
2.6 添加人大金仓数据库类型 修改/data/BenchmarkSQL/run/funcs.sh文件,
OK,源码修改完成。
3. ant 编译 --》 在 BenchmarkSQL解压目录下(/data/BenchmarkSQL)编译
编译成功!
PS: 如果
没有ant 命令 ,yum install ant 在线安装即可。
4. 在 run 目录下,新增人大金仓配置文件
主要变动内容如下:
db=kingbase
driver=com.kingbase8.Driver
conn=jdbc:kingbase8://localhost:54321/xxx
user=xxx
password=xxx
。。。。
完成BenchmarkSQL对人大金仓数据库性能测试的支持!
后面就和测试mysql已支持的数据库一样操作即可。
BenchmarkSQL对mysql进行性能测试 https://blog.csdn.net/ffb920724/article/details/112478578
参考: https://www.jianshu.com/p/622545cb1341
本文地址:https://blog.csdn.net/ffb920724/article/details/112567934
上一篇: mysql中什么是事务?
下一篇: MySQL中的外键的创建,约束和删除