TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。
tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于MySQL基准测试。其源码放在launchpad上,用bazaar管理,项目地址:https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql
服务器大概配置:
两颗6核12线程CPU,相当于12核24线程
64G内存
1T,SAS 15000转/分钟硬盘
raid5阵列
一、 安装tpcc-mysql工具
安装方法一:
安装bzr客户端
# yum -y install bzr
http://imysql.com/wp-content/uploads/2014/09/tpcc-mysql-src.tgz
之后,就可以开始用bzr客户端下载tpcc-mysql源码了
bzr branch lp:~percona-dev/perconatools/tpcc-mysql
安装方法二:
通过下载源码编译安装(推荐)
MySQL中文网便捷下载地址:
http://imysql.com/wp-content/uploads/2014/09/tpcc-mysql-src.tgz
下载到本地后,先执行 gunzip 解压缩文件,再执行 tar xf 解包,直接 tar zxf 可能会报告异常。
# gunzip tpcc-mysql-src.tgz
# tar xf tpcc-mysql-src.tar
# cd tpcc-mysql/src
# make
# ls
add_fkey_idx.sql count.sql create_table.sql drop_cons.sql load.sh README schema2 scripts src tpcc_load tpcc_start
如果 make 没有报错,就会在 /tmp/tpcc-mysql 下生成 tpcc 二进制命令行工具 tpcc_load 、 tpcc_start
tpcc-mysql的业务逻辑及其相关的几个表作用如下:
New-Order:新订单,一次完整的订单事务,几乎涉及到全部表
Payment:支付,主要对应 orders、history 表
Order-Status:订单状态,主要对应 orders、order_line 表
Delivery:发货,主要对应 order_line 表
Stock-Level:库存,主要对应 stock 表
其他相关表:
客户:主要对应 customer 表
地区:主要对应 district 表
商品:主要对应 item 表
仓库:主要对应 warehouse 表
二、TPCC测试前准备
初始化测试库环境
make命令会在tpcc-mysql目录下生成 tpcc 命令行工具 tpcc_load ,tpcc_start
tpcc_load 提供初始化数据的功能
tpcc_start 进行压力测试