TPCC是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统,tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于MySQL基准测试。其源码放在launchpad上,用bazaar管理,项目地址:https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql,专门转对mysql的基准测试工具,模拟电商业务流程.但是tpcc-mysql的结果并未获得TPC组织的认证,仅作为一个参考数据。
一、下载安装tpcc-mysql
1.安装epel
yum install epel-release.noarch
2.安装bzr版本控制工具
yum install bzr
3.cd /tmp
4.开始用bzr客户端下载tpcc-mysql源码了
bzr branch lp:~percona-dev/perconatools/tpcc-mysql
5.安装
cd /tmp/tpcc-mysql/src
mke
如果 make 没有报错,就会在 /tmp/tpcc-mysql 下生成 tpcc 二进制命令行工具 tpcc_load 、 tpcc_start
二、准备测试
1.创建测试表结构
mysql -uroot -poracle -e ‘create database tpcc‘
mysql -uroot -poracle tpcc < create_table.sql
mysql -uroot -poracle tpcc < add_fkey_idx.sql
2.tpcc-mysql的业务逻辑及其相关的几个表作用如下
New-Order:新订单,一次完整的订单事务,几乎涉及到全部表
Payment:支付,主要对应 orders、history 表
Order-Status:订单状态,主要对应 orders、order_line 表
Delivery:发货,主要对应 order_line 表
Stock-Level:库存,主要对应 stock 表
其他相关表:
客户:主要对应 customer 表
地区:主要对应 district 表
商品:主要对应 item 表
仓库:主要对应 warehouse 表
3.创建数据
./tpcc_load localhost tpcc root oracle 100 #最后的数字是代表几个仓库,仓库越大,数据量越大。耗费的时间越长,数据最好模拟你真实的数据量,或者至少大于你的buffer pool
4.开始测试
./tpcc_start: invalid option -- - Usage: tpcc_start -h server_host -P port -d database_name -u mysql_user -p mysql_password -w warehouses -c connections -r warmup_time -l running_time -i report_interval -f report_file -t trx_file # ./tpcc_start -hlocalhost -d tpcc -u root -p root -w 100 -c 8 -r 10 -l 20