percona tpcc的安装和使用

tpcc-mysql是开源的TPC-C测试工具,其完全遵循TPC-C标准.TPC-C是TPC协会制定的,用来测试典型的复杂OLTP(在线事务处理)系统的性能。它是percona基于tpc-c衍生出来的产品,专用于mysql基准测试,其源码放在bazaar。

一、安装

1,安装bzr版本控制工具
yum install bzr
2,下载tpcc源码
bzr branch lp:~percona-dev/perconatools/tpcc-mysql
3,安装
cd tpcc-mysql/src/
make
然后会在“tpcc-mysql”目录生成 tpcc_load tpcc_start两个二进制程序。

注意:这里可能会出现mysql include或者cc 的错误提示
1,如果是mysql include,在profile中添加c_include_path参数,值为mysql的include路径
vim /etc/profile
export C_INCLUDE_PATH=/usr/local/mysql/include
2,如果是cc,则yum安装gcc
yum install gcc

二、测试

1,生成测试数据,导入“tpcc-mysql”目录下的脚本
mysql -u root -p  -e 'create database db1'                 //创建所需的数据库
mysql> mysql  -u root -p  db1< create_table.sql    //导入表结构                      
mysql> mysql  -u root -p  db1< add_fkey_idx.sql   //创建表索引及FK等

2,创建数据仓库
[root@racdb2 tpcc-mysql]# ./tpcc_load  127.0.0.1 db1 root  123456 10

语法:
 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

3,开始测试,
./tpcc_start -h 127.0.0.1 -uroot -p123456 -d db1 -w 1 -c 1

语法:
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

4,结果分析
percona tpcc的安装和使用_第1张图片
测试结果分为三部分:
1,测试属性
(1) 测试对象的属性,如数据库数量,连接数

2,测试过程
10, 988(0):1.301|2.642, 988(0):0.284|0.440, 99(0):0.151|0.218, 98(0):1.526|2.600, 99(0):4.070|4.224
...
(1) 每行数据由时间,订单业务,支付业务,查询业务,发货业务,库存查询业务组成
10:时间戳,每十秒产生一条数据。每行的数据都是计算10秒的结果
988(0):1.301|2.642:表示10秒内完成988笔新订单业务。
988(0):0.284|0.440: 支付业务,
99(0):0.151|0.218,:查询业务,
98(0):1.526|2.600: 发货业务,
99(0):4.070|4.224: 库存查询业务
(2) 每个业务由四种数据的组成,例如:988(0):1.301|2.642
988   : 时间间隔内成功的事务(包括成功和延迟的事务):
(0)     :时间间隔内延迟的事务
1.301:时间间隔内前90%记录(实际为99%)的平均响应时间
2.642:时间间隔内最大的响应时间

3,测试结果
[0] sc:1911 lt:0 rt:0 fl:0 //新订单数
[1] sc:1916 lt:0 rt:0 fl:0  //支付业务
[2] sc:192 lt:0 rt:0 fl:0   //查询业务
[3] sc:191 lt:0 rt:0 fl:0   //发货业务
[4] sc:191 lt:0 rt:0 fl:0   //库存查询
...

<Constraint Check> (all must be [OK])
[transaction percentage]
Payment: 43.54% (>=43.0%) [OK]         //支付模块占总业务的43.54%
Order-Status: 4.36% (>= 4.0%) [OK]     //订单模块占总业务的4.36%
Delivery: 4.34% (>= 4.0%) [OK]              //发货模块占总业务的4.34%
Stock-Level: 4.34% (>= 4.0%) [OK]       //库存模块占总业务的4.34%
[response time (at least 90% passed)]  //是否满足指标
      New-Order: 100.00%  [OK]
        Payment: 100.00%  [OK]
   Order-Status: 100.00%  [OK]
       Delivery: 100.00%  [OK]
Stock-Level: 100.00%  [OK]

//指标如下
New-Order       5ms
Payment         5ms
Order-Status    5ms
Delivery        80ms
Stock-Level     20ms

<TpmC>
                 5733.000 TpmC                 //每分钟可完成新订单业务5733笔


你可能感兴趣的:(percona tpcc的安装和使用)