BenchmarkSQL对mysql进行性能测试

 

 

 

PS: 先在mysql中创建 root 用户,或自定义其他用户,配到props.mysql配置文件中。

登录mysql ,创建tpcc数据库用于测试

mysql -uroot -p

create databases  tpcc;

show databases;

use tpcc;

show tables;

 

1. 修改配置文件: props.mysql
db=mysql
driver=com.mysql.cj.jdbc.Driver
conn=jdbc:mysql://localhost:3306/tpcc
user=tpcc
password=******

warehouses=1
loadWorkers=4
terminals=1
//To run specified transactions per terminal- runMins must equal zero
runTxnsPerTerminal=10
//To run for specified minutes- runTxnsPerTerminal must equal zero
runMins=0
//Number of total transactions per minute
limitTxnsPerMin=300

//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
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_eth0 blk_sda

参数说明如下:

表1 数据库信息部分

参数

说明

conn

192.168.222.120

数据库服务器地址,以实际情况为准。

3306

MySQL数据库端口,以实际情况为准。

tpcc

数据库名称,以实际情况为准,本例中为tpcc。

user和password

root和123456

修改为创建数据库tpcc的账号和密码。

warehouses

1000

初始化加载数据时,需要创建多少仓库的数据。例如200,标识创建200个仓库数据,每一个数据仓库的数据量大概是76823.04KB,可有少量的上下浮动,因为测试过程中将会插入或删除现有记录。

数据量:每个仓库里有9张表,bmsql_order_line表数据量最大30w/1warehouses,60w/2warehouses....

loadworker

100

加载数据时,每次提交进程数。

表2 程序执行的场景参数

参数

说明

terminals

终端数量,指同时有多少终端并发执行,表示并发程度。遍历值140,170,200。

runTxnsPerTerminal

每分钟每个终端执行的事务数。

runMins

执行多少分钟,例如15分钟。与terminals配合使用。与终端数量,每个终端每分钟执行事务数配合使用

limitTnxsPermin

每分钟执行的事务总数。(数据库服务器,测试吞吐量时,需要将此值设置极大(无限大),这样就能够保证不会出现某个终端sleep现象。)

terminalWarehouseFixed

用于指定终端和仓库的绑定模式,设置为true时可以运行4.x兼容模式,意思为每个终端都有一个固定的仓库。设置为false时可以均匀的使用数据库整体配置。

 

2.创建数据,一步完成 创建表、生成测试数据、导入数据,及创建索引,外键等。

PS: 需要指定数据库类型对应的配置文件 ,如 mysql  数据库,对应的配置文件为props.mysql

./runDatabaseBuild.sh props.mysql       

PS: 如果没有授权先授权   ,命令:   chmod 777 *.sh

3. 测试数据

./runBenchmark.sh props.mysql

结果:

17:05:30,476 [Thread-1] INFO   jTPCC : Term-00, nt tpmTOTAL: 84    Memory Usage: 19MB / 37MB             
17:05:30,477 [Thread-1] INFO   jTPCC : Term-00, 
17:05:30,477 [Thread-1] INFO   jTPCC : Term-00, Measured tpmC (NewOrders) = 147.63
17:05:30,477 [Thread-1] INFO   jTPCC : Term-00, Measured tpmTOTAL = 324.8
17:05:30,478 [Thread-1] INFO   jTPCC : Term-00, Session Start     = 2021-01-11 17:05:28
17:05:30,478 [Thread-1] INFO   jTPCC : Term-00, Session End       = 2021-01-11 17:05:30
17:05:30,478 [Thread-1] INFO   jTPCC : Term-00, Transaction Count = 10

 

执行结束后,关注tpmTOTAL值。

说明:

tpm(transactions per minute)每分钟事物处理个数。

并会在 run/ 目录下生成result 目录,查看结果报告

my_result_2021-01-11_170527

 

4. 结果绘图,生成报告(PS:需要R语言环境)

./generateGraphs.sh my_result_2021-01-11_170527/

5. 清空数据

./runDatabaseDestroy.sh props.mysql

 

 

参考: https://blog.csdn.net/ctypyb2002/article/details/91364123

参考: https://support.huaweicloud.com/tstg-kunpengdbs/kunpengbenchmarksql_06_0004.html

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值