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的产品,无法进行测试。