benchmarksql 在5.0版本中没有对达梦数据库(DM)的TPC-C测试支持,本文通过修改部分源码,让benchmarksql 5.0支持DM。
个人理解: BenchmarkSQL 是通过jdbc方式连接数据库,通过DML操作来对数据进行性能测试。
所以,对于不同类型的数据,BenchmarkSQL只要获取到对应的驱动,及正确的URL格式,账号密码等,就能与不同类型数据库进行连接,
再对数据库进行DML操作来对数据库进行性能测试。一般常用的数据库的DML语句都是差不多的。
所以,要BenchmarkSQL不同类型数据库,基本上只要增加该数据库的驱动,连接数据库的配置文件,及源码里对数据库类型做个判断就差不多了。
以下是 简单几步实现BenchmarkSQL对达梦数据库性能测试
环境:
centos 7.5
benchmarksql 5.0
DM
jdk 1.8
1. 源码下载,解压
https://download.csdn.net/download/ffb920724/14141743 已支持MySQL
下载BenchmarkSQL5.0版本,目录结构如下
2. 修改源码
2.1 修改 src/client/jTPCC.java,增加dm相关部分,如下所示,(保持和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=dm
driver=dm.jdbc.driver.DmDriver
conn=jdbc:dm://ip:port/XXX
user=xxx
password=xxx
。。。。
完成BenchmarkSQL对达梦数据库性能测试的支持!
后面就和测试mysql已支持的数据库一样操作即可。
BenchmarkSQL对mysql进行性能测试 https://blog.csdn.net/ffb920724/article/details/112478578