ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

tpcc-mysql 实践

2019-04-19 14:39:05  阅读:282  来源: 互联网

标签:load TPC 199.134 实践 tpcc 测试 mysql


一、TPCC 介绍

    • TPC:
      全称Transaction Processing Performance Council (事务处理性能委员会),是一家非盈利性组织,该组织制定各种商业应用的基准测试规范,任意厂商和个人,都可以按照其规范来开发自己的应用程序。

       

    • TPC-C:
      是由 TPC 推出的一套基准测试程序,主要用于联机事务类应用的测试,最后的字母 C 是序号,因为在他之前有 TPC-A 和 TPC-B。使用的比较多的是 TPC-C,因为 TPCC 是套基准。
      TPC-C 是专门针对联机交易处理系统(OLTP 系统)的规范,一般情况下我们也把这类系统称为业务处理系统
      TPC-C 使用三种性能和价格度量,其中性能由 tpmC(transactions per minute,tpm)衡量,Cpm)衡量,C 指 TPC 中的 C 基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C 还经常以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC 数值得出

    • TPCC-MYSQL:
      由 Percona 基于 TPCC 规范开发的一套 mysql 基准测试程序。

    • 测试指标:
      TPC-C 测试的结果主要有两个指标,即流量指标(Throughput,简称 tpmC)。
      流量指标(Throughput,简称 tpmC):按照 TPC 组织的定义,流量指标描述了系统在执行支付操作、订单状态查询、发货和库存状态查询这 4 种交易的同时,每分钟可以处理多少个新订单交易。所有交易的响应时间必须满足 TPC-C 测试规范的要求,且各种交易数量所占的比例也应该满足 TPC-C 测试规范的要求。在这种情况下,流量指标值越大说明系统的联机事务处理能力越高。

二、tpcc-mysql 安装

1.安装 bzr

# yum install bzr -y 

2.下载 tpcc-mysql

# cd /usr/local/
# bzr branch lp:~percona-dev/perconatools/tpcc-mysql

下载完成后,当前目录下会有 tpcc-mysql 目录

3.编译安装 tpcc-mysql

# cd /usr/local/tpcc-mysql/src/
# make 

如果没有报错,tpcc-mysql 就安装完成了。
安装完成后会生成两个可执行文件:
tpcc_load:用于初始化数据。
tpcc_start:用于执行基准测试。

 三、tpcc-mysql 使用

一般分为下面 4 个步骤:
创建数据和表结构
加载数据
执行测试
测试结果解读分析

1.创建表和索引

创建库:

# mysql -uroot -punixfbi -h192.168.199.134 -e "create database tpcc;"

创建表结构:

# mysql -uroot -punixfbi -h192.168.199.134 tpcc < /usr/local/tpcc-mysql/create_table.sql 

创建索引:

# mysql -uroot -punixfbi -h192.168.199.134 tpcc < /usr/local/tpcc-mysql/add_fkey_idx.sql 

表的介绍:

# mysql -uroot -punixfbi -h192.168.199.134 -e "show tables from tpcc;"

+----------------+
| Tables_in_tpcc |
+----------------+
| customer       |    #用户表
| district       |    #分布表
| history        |    #历史记录表
| item           |    #订单详情表
| new_orders     |    #新订单表
| order_line     |
| orders         |    #商品表
| stock          |
| warehouse      |    #仓库相关表
+----------------+

2.初始化数据

先看看 tpcc_load 的用法吧

# ./tpcc_load -h
*************************************
*** ###easy### TPC-C Data Loader  ***
*************************************

 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

参数含义:
server:数据库 IP
DB:数据库名称
user:用户名
pass:密码
warehouse:仓库数量
执行下面的命令开始初始化数据:(仓库数我选择了 10 个)

# ./tpcc_load 192.168.199.134 tpcc root unixfbi 10

初始化成功最后会输出:

...DATA LOADING COMPLETED SUCCESSFULLY.

3.开始测试:

# ./tpcc_start --help
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
./tpcc_start: invalid option -- '-'
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 warehouses :仓库数量
-c connections:并发线程数
-r warmup_time:指定预热时间,以秒为单位,默认是 10 秒,主要目的是为了将数据加载到内存。
-l running_time:指定测试执行的时间,以秒为单位,默认是 20 秒。
-i report_interval:指定生成报告的间隔时间。
-f report_file:将测试中各项操作的记录输出到指定文件内保存。
-t trx_file:输出更详细的操作信息到指定文件内保存。

执行下面的命令:

标签:load,TPC,199.134,实践,tpcc,测试,mysql
来源: https://www.cnblogs.com/lfri/p/10735739.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有