一、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

2.下载 tpcc-mysql

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

3.编译安装 tpcc-mysql

如果没有报错,tpcc-mysql 就安装完成了。

安装完成后会生成两个可执行文件:

tpcc_load:用于初始化数据。

tpcc_start:用于执行基准测试。

三、tpcc-mysql 使用

一般分为下面 4 个步骤:

创建数据和表结构

加载数据

执行测试

测试结果解读分析

1.创建表和索引

创建库:

创建表结构:

创建索引:

表的介绍:

2.初始化数据

先看看 tpcc_load 的用法吧

参数含义:

server:数据库 IP

DB:数据库名称

user:用户名

pass:密码

warehouse:仓库数量

执行下面的命令开始初始化数据:(仓库数我选择了 10 个)

初始化成功最后会输出:

3.开始测试:

参数含义:

-w warehouses :仓库数量

-c connections:并发线程数

-r warmup_time:指定预热时间,以秒为单位,默认是 10 秒,主要目的是为了将数据加载到内存。

-l running_time:指定测试执行的时间,以秒为单位,默认是 20 秒。

-i report_interval:指定生成报告的间隔时间。

-f report_file:将测试中各项操作的记录输出到指定文件内保存。

-t trx_file:输出更详细的操作信息到指定文件内保存。

执行下面的命令:

真实测试场景中,建议预热时间不小于 5 分钟,持续压测时长不小于 30 分钟,否则测试数据可能不具参考意义。

输出结果如下:

1 ***************************************

2 *** ###easy### TPC-C Load Generator ***

3 ***************************************

4 option h with value '127.0.0.1'5 option d with value 'tpcc'6 option u with value 'root'7 option p with value '123123'8 option w with value '10'9 option c with value '10'10 option r with value '120'11 option l with value '300'12 option f with value '/tmp/tpcc_mysql.log'13 option t with value '/tmp/tpcc_mysql.rtx'14

15 [server]: 127.0.0.1

16 [port]: 3306

17 [DBname]: tpcc18 [user]: root19 [pass]: 123123

20 [warehouse]: 10

21 [connection]: 10

22 [rampup]: 120(sec.)23 [measure]: 300(sec.)24

25 RAMP-UP TIME.(120 sec.) #预热结束

26

27 MEASURING START. #开始压测

28

29 10, 918(0):0.846|1.053, 917(0):0.179|0.314, 92(0):0.089|0.119, 91(0):0.989|1.30 134, 92(0):2.696|2.913

31 20, 929(0):0.805|0.863, 927(0):0.167|0.177, 93(0):0.076|0.079, 93(0):0.909|0.32 913, 92(0):2.578|2.580

33 30, 911(0):0.811|0.863, 917(0):0.165|0.202, 91(0):0.083|0.084, 91(0):0.934|0.34 942, 92(0):2.548|2.597

35 40, 911(0):0.928|1.189, 907(0):0.200|0.249, 92(0):0.090|0.110, 91(0):1.037|1.36 277, 90(0):3.027|3.103

37 50, 871(0):0.881|0.994, 875(0):0.184|0.208, 87(0):0.091|0.099, 87(0):0.996|0.38 997, 88(0):2.762|2.802

39 60, 886(0):0.863|1.008, 883(0):0.184|0.208, 88(0):0.084|0.091, 89(0):0.958|0.40 990, 89(0):2.656|2.667

41 70, 900(0):0.835|0.891, 900(0):0.177|0.188, 90(0):0.087|0.087, 90(0):0.997|1.42 007, 90(0):2.679|2.720

43 80, 868(0):0.841|0.915, 866(0):0.168|0.192, 87(0):0.087|0.094, 87(0):0.950|0.44 953, 88(0):2.517|2.611

45 90, 914(0):0.825|0.914, 916(0):0.168|0.244, 91(0):0.083|0.086, 90(0):0.928|0.46 935, 90(0):2.532|2.590

47 100, 860(0):0.811|0.846, 861(0):0.171|0.205, 86(0):0.086|0.107, 86(0):0.954|0.48 956, 87(0):2.540|2.622

49 110, 881(0):0.837|0.904, 875(0):0.175|0.192, 88(0):0.081|0.082, 89(0):0.941|0.50 949, 87(0):2.594|2.625

51 120, 881(0):0.840|1.029, 882(0):0.176|0.196, 89(0):0.085|0.114, 88(0):0.962|0.52 969, 87(0):2.620|2.705

53 130, 831(0):0.860|0.910, 835(0):0.182|0.328, 83(0):0.085|0.095, 83(0):0.994|1.54 008, 84(0):2.733|2.747

55 140, 861(0):0.860|0.926, 855(0):0.184|0.231, 85(0):0.091|0.097, 86(0):0.983|0.56 985, 87(0):2.844|2.880

57 150, 850(0):0.849|0.908, 852(0):0.183|0.198, 85(0):0.091|0.105, 85(0):0.996|1.58 012, 84(0):2.835|2.858

59 160, 863(0):0.865|0.922, 867(0):0.179|0.242, 87(0):0.130|0.167, 87(0):1.038|1.60 067, 86(0):2.771|4.078

61 170, 849(0):0.851|0.891, 850(0):0.178|0.259, 85(0):0.081|0.094, 84(0):0.976|0.62 978, 85(0):2.741|2.760

63 180, 850(0):0.814|0.865, 850(0):0.170|0.181, 85(0):0.081|0.085, 86(0):0.928|0.64 935, 86(0):2.496|2.721

65 190, 857(0):0.845|0.904, 855(0):0.174|0.190, 86(0):0.086|0.098, 86(0):0.973|1.66 006, 86(0):2.611|2.685

67 200, 864(0):0.828|0.877, 866(0):0.173|0.250, 86(0):0.084|0.086, 86(0):0.949|0.68 954, 85(0):2.536|2.547

69 210, 847(0):0.843|0.952, 847(0):0.177|0.201, 85(0):0.084|0.085, 85(0):0.960|0.70 994, 86(0):2.594|2.617

71 220, 869(0):0.869|0.909, 869(0):0.180|0.219, 87(0):0.087|0.088, 87(0):1.004|1.72 014, 87(0):2.586|2.652

73 230, 836(0):1.031|1.059, 834(0):0.207|0.225, 83(0):0.095|0.097, 83(0):1.164|1.74 220, 83(0):3.049|3.051

75 240, 849(0):0.817|0.841, 848(0):0.172|0.234, 85(0):0.078|0.079, 85(0):0.922|0.76 929, 85(0):2.548|2.551

77 250, 833(0):0.836|0.894, 838(0):0.173|0.230, 84(0):0.079|0.081, 83(0):0.952|0.78 981, 83(0):2.569|2.598

79 260, 853(0):0.855|0.946, 849(0):0.177|0.224, 84(0):0.090|0.164, 86(0):1.029|1.80 036, 85(0):2.749|2.877

81 270, 839(0):0.860|0.936, 840(0):0.194|0.221, 85(0):0.082|0.086, 83(0):0.970|0.82 980, 85(0):2.724|2.755

83 280, 856(0):0.829|0.879, 854(0):0.175|0.221, 86(0):0.081|0.087, 86(0):0.944|0.84 945, 84(0):2.592|2.733

85 290, 836(0):0.836|0.945, 838(0):0.176|0.238, 83(0):0.081|0.085, 84(0):0.951|0.86 958, 85(0):2.609|2.618

87 300, 855(0):0.838|0.938, 853(0):0.172|0.200, 85(0):0.084|0.086, 85(0):0.940|0.88 964, 86(0):2.523|2.556

89

90 STOPPING THREADS.......... #压测结束

91

92

93 [0] sc:26028 lt:0 rt:0 fl:0

94 [1] sc:26026 lt:0 rt:0 fl:0

95 [2] sc:2603 lt:0 rt:0 fl:0

96 [3] sc:2602 lt:0 rt:0 fl:0

97 [4] sc:2604 lt:0 rt:0 fl:0

98 in 300sec.99

100

101 [0] sc:26028 lt:0 rt:0 fl:0

102 [1] sc:26026 lt:0 rt:0 fl:0

103 [2] sc:2603 lt:0 rt:0 fl:0

104 [3] sc:2602 lt:0 rt:0 fl:0

105 [4] sc:2604 lt:0 rt:0 fl:0

106

107 (all must be [OK])108 [transaction percentage]109 Payment: 43.48% (>=43.0%) [OK]110 Order-Status: 4.35% (>= 4.0%) [OK]111 Delivery: 4.35% (>= 4.0%) [OK]112 Stock-Level: 4.35% (>= 4.0%) [OK]113 [response time (at least 90% passed)] #都ok,hh

114 New-Order: 100.00%[OK]115 Payment: 100.00%[OK]116 Order-Status: 100.00%[OK]117 Delivery: 100.00%[OK]118 Stock-Level: 100.00%[OK]119

120

121 5205.600 TpmC

Output

4.测试结果解读:

第一部分:

10, 918(0):0.846|1.053, 917(0):0.179|0.314, 92(0):0.089|0.119, 91(0):0.989|1.134, 92(0):2.696|2.913

20, 929(0):0.805|0.863, 927(0):0.167|0.177, 93(0):0.076|0.079, 93(0):0.909|0.913, 92(0):2.578|2.580

30, 911(0):0.811|0.863, 917(0):0.165|0.202, 91(0):0.083|0.084, 91(0):0.934|0.942, 92(0):2.548|2.597......290, 836(0):0.836|0.945, 838(0):0.176|0.238, 83(0):0.081|0.085, 84(0):0.951|0.958, 85(0):2.609|2.618

300, 855(0):0.838|0.938, 853(0):0.172|0.200, 85(0):0.084|0.086, 85(0):0.940|0.964, 86(0):2.523|2.556

这类信息,每 10 秒产生一条输出,返回结果以逗号分隔后,共可以分为 6 列,

第一项:每 10 秒为一个区间进行输出。后面 5 项分属不同的业务操作,输出信息格式都一样。每一项都有 4 个属性值,即该时间区间内成功执行的事务、出现延迟的事务、90%事务的响应时间、事务的最大响应时间。

例如第一条的解释:

在第一个 10 秒区间内:

创建订单:共操作 918 次,失败 0 次,90%的事务平均操作时间 0.846 秒,最大操作时间是 1.053 秒。

订单支付:同上

查询订单:同上

发货:同上

查询库存:同上

第二部分:

[0] sc:26028 lt:0 rt:0 fl:0 -- New-Order,新订单业务成功(success,简写 sc)数量,操作出现延迟(late,简写 lt)数量,操作重试(retry,简写 rt)数量,失败(failure,简写 fl)数量

[1] sc:26026 lt:0 rt:0 fl:0 --Payment,支付业务统计,其他同上

[2] sc:2603 lt:0 rt:0 fl:0 -- Order-Status,订单状态业务统计,其他同上

[3] sc:2602 lt:0 rt:0 fl:0 -- Order-Status,订单状态业务统计,其他同上

[4] sc:2604 lt:0 rt:0 fl:0 -- Stock-Level,库存业务统计,其他同上in 300 sec.

第三部分:

TPCC 测试要求下面状态必须为 OK

(all must be [OK])

[transaction percentage]

Payment:43.48% (>=43.0%) [OK] #要求支付业务占比

Order-Status: 4.35% (>= 4.0%) [OK] #要求支付业务占比

Delivery: 4.35% (>= 4.0%) [OK] #物流相关业务占比

Stock-Level: 4.35% (>= 4.0%) [OK] #库存相关业务占比

[response time (at least 90% passed)] #都ok,hh

New-Order: 100.00%[OK]

Payment:100.00%[OK]

Order-Status: 100.00%[OK]

Delivery:100.00%[OK]

Stock-Level: 100.00% [OK]

第四部分:

5205.600 TpmC

Tpm 是 Transactions per minute的缩写,C 指的是执行 TPC-C 基准测试。

TpmC 这项指标为整体性能指标,表示每分钟事务数,代表了本系统每分钟能够处理的订单数量。

该值是第一次统计结果中的新订单事务数除以总耗时分钟数,例如本例中是 26028/5 = 5205.6

(图形展示,尝试了好久失败了,果然烂尾)

tpcc-mysql 下载_tpcc-mysql 实践相关推荐

  1. MySQL下载与MySQL安装图解(MySQL5.7与MySQL8.0)

    MySQL下载与MySQL安装图解(MySQL5.7与MySQL8.0) 1.MySQL下载(MySQL8.0社区版) mysql下载方法,请根据风哥以下步骤与图示来下载mysql8.0最新社区版本: ...

  2. tpcc mysql下载_TPCC安装和压测数据库数据表创建生成

    下载TPCC-mysql [root@cnbugs1 ~]# git clone https://github.com/Percona-Lab/tpcc-mysql.git 配置TPCC-mysql ...

  3. tpcc mysql 基准测试_tpcc mysql 基准测试

    使用tpcc mysql进行基准测试 获取并编译tpcc mysql 获取tpcc mysql 源码 sudo apt-get install bzr bzr branch lp:~percona-d ...

  4. mysql 下载、运行

    一.mysql 下载 1.mysql下载地址:MySQL :: Download MySQL Community Server 2.点击图中标注的地方 3.下图中1.2.3选择自己所需要的版本,下载压 ...

  5. mysql 下载安装教程以及密码初始化

    一.mysql 下载安装 官网地址:https://dev.mysql.com/ 下载历史版本: 下载5.7.11 二.安装mysql 下载好mysql后,将软件解压自己想要的位置,不需解压,并把目录 ...

  6. SQL相关概念与MYSQL下载安装卸载

    SQL相关概念与MYSQL下载安装卸载 为什么学习数据库 数据库的相关概念 MySQL 什么是MYSQL DBMS的分类 MYSQL版本 MYSQL下载 MYSQL安装 MYSQL安装过程中出现的问题 ...

  7. MySQL数据库企业级应用实践

    MySQL数据库企业级应用实践 标签(空格分隔): linux学习知识整理 一,概述 1.1 MySQL介绍 MySQL属于传统关系型数据库产品,它开放式的架构使得用户选择性很强,同时社区开发与维护人 ...

  8. MySQL下载与安装教程以及环境变量配置

    MySQL下载 1 搜索mysql 选择mysql downloads 如下 2 点击滑动到底部选择社区版本(免费) 如下 3 选择Community Server 如下 4 选择对应的版本下载 我选 ...

  9. cent os mysql下载_Cent OS 6.4安装mysql

    Cent OS6.4 RPM安装mysql 一.卸载掉原有mysql 因为目前主流Linux系统版本基本上都集成了mysql数据库在里面 如下命令来查看我们的操作系统上是否已经安装了mysql数据库 ...

  10. mysql下载地址与安装

    MySQL下载与安装 一.下载 地址:https://dev.mysql.com/downloads/mysql/ 当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zi ...

最新文章

  1. 程序员接活利器,dataTable组件带你快速开发,摆脱CRUD
  2. 【收藏】QGIS加载xyz格式地图(以高德影像图和路网为例)
  3. boost::lambda::is_instance_of_1用法的测试程序
  4. 微软私有云分享(R2)22 计算机配置文件与基础设置
  5. 卷起来了!DeepMind发布媲美普通程序员的AlphaCode,同日OpenAI神经数学证明器拿下奥数题...
  6. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用
  7. CCNA笔记之第二十节:RIP协议(大实验4)
  8. 应变界的翘楚:硅基谐振式传感器灵敏度非常高
  9. 清翔电子单片机原理图stc89c52_1000. 电子编程入门到工程师--从看得到开始
  10. Python批量拆分Excel文件中已合并的单元格
  11. 【干货】深度学习实验流程及PyTorch提供的解决方案
  12. Centos单网卡多IP的配置
  13. Linux中常用命令(文件)
  14. 网上下载的php源码怎么运行,在中国站长站下载的asp源码,如何在自己电脑上运行?...
  15. ubuntu五笔输入法安装_打造最强Windows 10微软拼音输入法 + 600万词库下载
  16. Remi教程GUI设计番外篇
  17. 超声非线性成像-谐波成像基本知识
  18. 【程序员如何买基金 十二】实战操作篇
  19. 2012年度最佳分享:仿webQQ界面,详情请下载,不吃亏
  20. ppt拼图 批量生成 N多ppt一键生成拼图

热门文章

  1. 记录一次腾讯Android岗面试笔试总结,灵魂拷问
  2. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下
  3. android 4g lte,网络:每年都在喊4G LTE终于梦成真
  4. PHP对接农行快e通授权登录
  5. Smartbi Excel融合分析——完美融合Excel和BI,真正赋能一线用户
  6. blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource
  7. 资源分配图的简化方法(能否去死锁)
  8. 每日分享之《十面埋伏》
  9. 牛客小白月赛24C 十面埋伏(bfs+模拟)
  10. 年轻的编程斗士们十一快乐!