mysql-tpcc

目的:测试oltp场景的压力测试。

数据模型选择

1)TPC-A、TPC-B:A / B 两个版本模拟的是银行转账业务,相对业务模型比较简单
2)TPC-C:用商品批发业务混合了只读和读写等复杂事务来模拟OLTP场景。
一般都是用TPC-C这个升级之后的数据模型来测试OLTP。
 
用TPC-C测试模型的开源工具调研:mysql-tpcc(mysql-tpcc只能用在MySQL或者兼容MySQL的数据库) 

安装

git clone https://github.com/Percona-Lab/tpcc-mysql
cd tpcc-mysql/src
make 
安装过程报错如下:
[xx@xx src]$ make
cc -w -O3 -g -I. `mysql_config --include`  -c load.c
load.c:19:19: fatal error: mysql.h: No such file or directory
#include <mysql.h>
                   ^
compilation terminated.
make: *** [load.o] Error 1
 
解决:
yum install mysql-devel
重新make,success

命令试用

create database tpcc;
mysql -uroot -p****** -D tpcc < create_table.sql(******表示密码) 
mysql -uroot -p****** -D tpcc < add_fkey_idx.sql 
mysql -uroot -p****** -e "show tables from tpcc"
./tpcc_load -h 127.0.0.1 -u root -P 3306 -d tpcc -w 1
./tpcc_start -h server_host  -d tpcc -u mysql_user -p mysql_password  -w 20 -c 128 -r 120 -l 200  - >tpcc-output-log

 

参数
说明
-w 
指定仓库数量。 
-c 
指定并发连接数。 
-r 
指定开始测试前进行 warmup 的时间,进行预热后,测试效果更好。 
-l 
指定测试持续时间。 
-i 
指定生成报告间隔时长。 
-f 
指定生成的报告文件名。 
 

缺点

对于不是完全兼容mysql的产品,无法进行测试。

posted on 2023-03-16 16:26  Y.Debby  阅读(92)  评论(0编辑  收藏  举报