一、 下载工具包
Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试,其源码放在bazaar(Bazaar是一个分布式的版本控制系统,采用 GPL 许可协议,可运行于 Windows、GNU/Linux、UNIX 以及 Mac OS 系统之上。Bazaar 由 Canonical 公司(Ubuntu母公司)赞助)上,因此还需要先安装bazaar客户端。
使用root安装rpm包
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
然后就可以开始安装bzr客户端了:
可以通过 yum -y install bzr 方式安装 bzr ,但默认会安装到 /usr/lib64/python2.4/site-packages 之中(我的系统为 CentOS release 5.6 (Final) )。如果希望安装的位置是 /usr/local/lib/python2.7/site-packages ,通过 yum 方式可能无法满足(或者说我不知道怎么操作)。于是采用 pip 方式安装。
pip install bzr
cd tmp
bzr branch lp:~percona-dev/perconatools/tpcc-mysql
二、编译安装
编译非常简单
cd /tmp/tpcc-mysql/src
make
然后就会在 /tmp/tpcc-mysql 下生成 tpcc 命令行工具 tpcc_load 、 tpcc_start
三 初始化测试库环境
make命令会在tpcc-mysql目录下生成 tpcc 命令行工具 tpcc_load ,tpcc_start
tpcc_load 提供初始化数据的功能
tpcc_start 进行压力测试
用法:
./tpcc_load --help
tpcc_load [server] [DB] [user] [pass] [warehouse]
Server: 服务器名
DB: 数据库名
user: 用户名
pass: 密码
Warehouse: 仓库的数量
./tpcc_start --help
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
介绍一下各个参数的用法
-h server_host: 服务器名
-P port : 端口号,默认为3306
-d database_name: 数据库名
-u mysql_user : 用户名
-p mysql_password : 密码
-w warehouses: 仓库的数量
-c connections : 线程数,默认为1
-r warmup_time : 热身时间,单位:s,默认为10s ,热身是为了将数据加载到内存。
-l running_time: 测试时间,单位:s,默认为20s
-i report_interval: 指定生成报告间隔时长
-f report_file: 测试结果输出文件
注意
tpcc 默认会读取/var/lib/mysql/mysql.sock 这个socket位置,如果你的测试环境的mysql socket不在相应路径的话,就需要做个软连接,或者通过TCP/IP的方式连接测试服务器。
准备工作:
mysql -uroot -p -e "create database tpcc"
# 创建测试用的数据库
mysql -uroot -p tpcc < create_table.sql
# 创建测试用的表
mysql -uroot -p tpcc < add_fkey_idx.sql
# 创建FK和索引
1 创建五个数据仓库
./tpcc_load localhost tpcc root “123456” 5
* ###easy### TPC-C Data Loader *
TPCC Data Load Started…
Loading Item
………………………………………….. 5000
………………………………………….. 10000
…
DATA LOADING COMPLETED SUCCESSFULLY.
忽略部分输出结果