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,结果分析

测试结果分为三部分:
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笔


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤在docker安装的opengauss数据库中运行TPC-C测试: 1. 下载TPC-C测试工具:从TPC官网下载TPC-C测试工具,或从GitHub上下载开源版本的工具。 2. 准备测试数据:使用工具生成测试数据并加载到opengauss数据库中。 3. 执行测试:运行TPC-C测试脚本,测试结束后可以查看测试结果。 具体步骤如下: 1. 下载TPC-C测试工具 可以从以下链接下载TPC-C测试工具:https://www.tpc.org/tpcc/. 或者从GitHub上下载开源版本的工具:https://github.com/Percona-Lab/tpcc-mysql. 2. 准备测试数据 使用TPC-C测试工具生成测试数据并加载到opengauss数据库中。假设测试数据存储在/data/tpcc目录下,可以使用如下命令将数据加载到opengauss数据库中: ```shell cd /data/tpcc ./load.sh ``` 其中load.sh是TPC-C测试工具中的一个脚本,用于生成测试数据并加载到数据库中。执行该脚本会自动创建测试数据表和索引,并将数据加载到opengauss数据库中。 3. 执行测试 使用TPC-C测试工具中的run.sh脚本运行测试。假设测试结果存储在/data/tpcc/result目录下,可以使用如下命令执行测试: ```shell cd /data/tpcc ./run.sh > result/tpcc.out ``` 执行完毕后,测试结果将存储在result/tpcc.out文件中。可以使用该文件中的数据来分析测试结果。 注意:在运行TPC-C测试之前,需要调整opengauss数据库的配置,以提高测试性能。具体可参考opengauss官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值