您的位置:首页 > 编程语言 > PHP开发

percona tpcc的安装和使用

2015-12-03 10:27 686 查看
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,结果分析





测试结果分为三部分:

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笔
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: