在之前的博客,我们看了BenchmarkSQL对Oracle 进行的压力测试,如下:
https://www.cndba.cn/dave/article/3727
1 下载BenchmarkSQL
官方的benchmarksql 不能直接运行dm,需要修改,可以从CNDBA社区下载修改后的版本,直接使用:
https://www.cndba.cn/dave/article/3727
[dave@www.cndba.cn benchmarksql-5.0]$ pwd
/dm/benchmarksql-5.0
[dave@www.cndba.cn benchmarksql-5.0]$ ls
build.xml doc HOW-TO-RUN.txt lib README.md run src
[dave@www.cndba.cn benchmarksql-5.0]$
2 创建测试用户
SQL> create tablespace cndba datafile '/dm/dmdbms/data/dave/cndba01.dbf' size 200;
executed successfully
used time: 29.584(ms). Execute id is 2139.
SQL> create user cndba identified by cndba0551 default tablespace cndba;
executed successfully
used time: 7.071(ms). Execute id is 2140.
SQL> grant resource,dba to cndba;
executed successfully
used time: 3.974(ms). Execute id is 2141.
SQL>
3 复制对应版本的jdbc驱动到benchmarksql
#复制jdbc驱动:
[dave@www.cndba.cn jdbc]$ pwd
/dm/dmdbms/drivers/jdbc
[dave@www.cndba.cn jdbc]$ ls
dialect DmDictionary.jar DmJdbcDriver17.jar Hibernate Dialect&JDBC.txt
dm8-oracle-jdbc16-wrapper.jar DmJdbcDriver16.jar DmJdbcDriver18.jar version.txt
[dave@www.cndba.cn jdbc]$
[dave@www.cndba.cn jdbc]$ cp DmJdbcDriver18.jar /dm/benchmarksql-5.0/lib/dameng/
[dave@www.cndba.cn jdbc]$ ll /dm/benchmarksql-5.0/lib/dameng/
total 600
-rwxr-xr-x. 1 dmdba dinstall 611987 Sep 26 08:39 DmJdbcDriver18.jar
[dave@www.cndba.cn jdbc]$
4 修改benchmarksql 参数
[root@dm8 run]# pwd
/dm/benchmarksql-5.0/run
[root@dm8 run]# ls
dmsql.buf1569457832999202.buf log4j.properties props.pg runLoader.sh sql.oracle
funcs.sh misc runBenchmark.sh runSQL.sh sql.postgres
generateGraphs.sh props.fb runDatabaseBuild.sh sql.common
generateReport.sh props.ora runDatabaseDestroy.sh sql.firebird
[root@dm8 run]#
修改后的props.dm 脚本如下,注意这里的参数,如果要测出更好的性能,可能需要多次调整:
[dave@www.cndba.cn run]$ cat props.dm
db=dm
driver=dm.jdbc.driver.DmDriver
conn=jdbc:dm://192.168.20.171:5236
user=cndba
password=cndba0551
warehouses=4
loadWorkers=4
terminals=32
//To run specified transactions per terminal- runMins must equal zero
runTxnsPerTerminal=0
//To run for specified minutes- runTxnsPerTerminal must equal zero
runMins=15
//Number of total transactions per minute
limitTxnsPerMin=0
//Set to true to run in 4.x compatible mode. Set to false to use the
//entire configured database evenly.
terminalWarehouseFixed=true
//The following five values must add up to 100
//The default percentages of 45, 43, 4, 4 & 4 match the TPC-C spec
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4
// Directory name to create for collecting detailed result data.
// Comment this out to suppress.
resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS
osCollectorScript=./misc/os_collector_linux.py
osCollectorInterval=1
//osCollectorSSHAddr=user@dbhost
osCollectorDevices=net_enp62s0f0 blk_sda
[dave@www.cndba.cn run]$
5 创建模式并初始化数据
[dave@www.cndba.cn run]$ ./runDatabaseBuild.sh props.dm
#

本文介绍了如何使用BenchmarkSQL对DM(达梦数据库)进行压力测试,包括下载修改后的BenchmarkSQL版本,创建测试用户,复制JDBC驱动,修改配置参数,执行性能测试,以及查看测试报告的详细步骤。测试过程中遇到了死锁问题,并提示可以通过调整props.dm配置参数来优化性能。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



