author:skate
time:2013/03/25
tpcc-mysql安装与使用
下载工具包
Tpcc-mysql是percona基于tpcc衍生出来的产品,用来测试OLTP(在线事务处理)系统性能的软件, TPCC-MYSQL是开源的TPC-C测试软件其源码放在bazaar(Bazaar是一个分布式的版本控制系统,采用GPL许可协议,可运行于Windows、GNU/Linux、UNIX 以及 Mac OS 系统之上。Bazaar 由Canonical公司(Ubuntu母公司)赞助商,因此还需要先安装bazaar客户端。
安装步骤
1.
#rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
2
安装bzr客户端了:
#yum install bzr
3
用bzr客户端下载tpcc-mysql源码了。
#cd tmp
前提是
3.1
登录https://launchpad.net/bzr 注册帐号并登录
3.2
进入个人信息页https://launchpad.net/~userid
3.3
生成密钥
# ssh-keygen -t rsa
然后把/root/.ssh/id_rsa.pub公钥发布到项目分支到launchpad.net,方法是把id_rsa.pub文件内容copy到
https://launchpad.net/~<Your ID>/+editsshkeys然后提交即可
4
这回用bzr客户端下载tpcc-mysql源码即可
#bzr branch lp:~percona-dev/perconatools/tpcc-mysql
5
编译安装
#cd /tmp/tpcc-mysql/src
#make
然后就会在 /tmp/tpcc-mysql下生成 tpcc命令行工具 tpcc_load,tpcc_start
[root@racdb2 tpcc-mysql]# ll
total 372
-rw-r--r-- 1 root root 1621 Mar 25 12:21 add_fkey_idx.sql
-rw-r--r-- 1 root root 317 Mar 25 12:21 count.sql
-rw-r--r-- 1 root root 3105 Mar 25 12:21 create_table.sql
-rw-r--r-- 1 root root 763 Mar 25 12:21 drop_cons.sql
-rw-r--r-- 1 root root 477 Mar 25 12:21 load.sh
-rw-r--r-- 1 root root 851 Mar 25 12:21 README
drwxr-xr-x 2 root root 4096 Mar 25 12:21 schema2
drwxr-xr-x 5 root root 4096 Mar 25 12:21 scripts
drwxr-xr-x 2 root root 4096 Mar 25 13:18 src
-rw-r--r-- 1 root root 25350 Mar 25 13:50 tpcc100-20130326
-rw-r--r-- 1 root root 68534 Mar 25 14:43 tpcc100-20130326vi
-rwxr-xr-x 1 root root 65852 Mar 25 13:18 tpcc_load
-rwxr-xr-x 1 root root 162254 Mar 25 13:18 tpcc_start
tpcc-mysql有几个脚本很重要
create_table.sql:创建所需的数据库表,共9个表
add_fkey_idx.sql:创建索引和外键
drop_cons.sql:删除约束
安装参考:
http://blog.csdn.net/red10057/article/details/7667400
http://blog.csdn.net/songxixi/article/details/8506796
简单测试使用
1.生成测试数据
#mysqladmin -u root -p create tpcc100 //创建所需的数据库
mysql> mysql -u root -p tpcc < create_table.sql //导入表结构
mysql> mysql -u root -p tpcc < add_fkey_idx.sql //创建表索引及FK等
[root@racdb2 tpcc-mysql]# ./tpcc_load help
usage: tpcc_load [server] [DB] [user] [pass] [warehouse]
OR
tpcc_load [server] [DB] [user] [pass] [warehouse] [part] [min_wh] [max_wh]
* [part]: 1=ITEMS 2=WAREHOUSE 3=CUSTOMER 4=ORDERS
例如:创建100个数据仓库并填充数据
[root@racdb2 tpcc-mysql]# ./tpcc_load localhost tpcc100 root 'rootpassword' 100
2
开始测试,tpcc_start的用法
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
常用参数说明:
-w 指定仓库数量,也就是要测试几个数据仓库,比如测试干干创建的100个数据仓库
-c 指定并发连接数
-r 指定开始测试前进行warmup的时间,进行预热后,测试效果更好,更准确
-l 指定测试持续时间
-I 指定生成报告间隔时长
-f 指定生成的报告文件名
对100个数据仓库,预热120秒,100个并发连接,运行3600秒, 结果存放在当前文件tpcc100_20130325
#./tpcc_start -hlocalhost -d tpcc100 -u root -p 'rootpwd' -w 100 -c 100 -r 120 -l 3600 -f tpcc100_20130325
---end----