0


[MySQL]-压力测试之TPCC-MySQL

[MySQL]-压力测试之TPCC-MySQL

文章目录


森格 | 2022年10月

对数据库学习来说,压力测试也是十分必要的一环,本文章主要介绍了TPCC-MySQL这个工具的使用。


一、基本概念


1.1 基准测试VS压力测试

在这里插入图片描述

在这里插入图片描述

基准测试: 直接简单、易于比较,用于评估服务器的处理能力。可能不关心核心业务。

压力测试: 针对不同主题对真实的业务数据进行测试,获得真实系统所能承受的压力。

1.2 TPCC是什么?

TPCC是由TPC(交易处理绩效委员会)推出的一套基准测试程序,一些硬件厂商会以TPCC作为对比标准之一。

1.3 TPCC-MySQL

模拟了一套电商环境,用于下单、支付、查订单、发货、查库存,模拟各个环节,获取数据,评估当前的环境的吞吐量。

二、TPCC-MySQL下载


wget http://imysql.com/wp-content/uploads/2014/09/tpcc-mysql-src.tgz

tar-zxf tpcc-mysql-src.tgz

cd src

make

三、TPCC-MySQL的使用


3.1 创建测速数据库tpcc

查看TPCC-MySQL目录下的文件,会发现有一些自带的sql文件

在这里插入图片描述

创建测试数据库

mysql>create database tpcc

mysql -h127.0.0.1 -P3306-uroot-pxxx tpcc < create_table.sql

添加索引

mysql -h127.0.0.1 -P3306-uroot-pxxx tpcc < add_fkey_idx.sql

查看测试数据库

mysql -h127.0.0.1 -P3306-uroot-pxxx tpcc -e"show tables";

在这里插入图片描述

表格说明:

customer-客户表,district-地区表,history历史订单表,item商品条目表,new_orders新订单表,order_line订单状态表,orders下单表,stock库存表,warehouse仓库表。

3.2 加载数据

./tpcc_load 127.0.0.1:3306 tpcc root password 10

3.3 测试

[~ tpcc-mysql]./tpcc_start --help  //查看帮助命令

在这里插入图片描述

参数说明:

  • -w:指定仓库数量。
  • -c:指定并发连接数。
  • -r:指定开始测试前进行warmup的时间,进行预热后,测试效果更好(真实测试场景中,预热时间不小于5分钟,持续压测时长不小于30分钟)。
  • -l:指定测试持续时间。
  • -i:指定生成报告间隔时长。
  • -f:指定生成的报告名称。
  • -t:更详细的操作信息。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以第一行为例子:以逗号为分隔,第一个10秒,创建订单3336次,失败0,90%的订单花费1.287s,最长的一个花费1.571s,后面依次的动作是:支付、查询订单状态、发货、查询库存。

在这里插入图片描述

第一次处理结果:

sc:成功,lt:操作延迟,retry:重试,failure:操作失败

第二次处理结果,意义同上。

在这里插入图片描述

测试结果:

事务比例

响应时间

TpmC: transactions per minute ,每分钟处理订单个数的能力。

计算方法:新订单总数除以分钟数(每个10秒内第一列总和除以分钟数)。

四、总结


TPC-C是业界常用的一套Benchmark,由TPC委员会制定发布,用于评测数据库的联机交易处理(偏向OLTP能力)。主要涉及10张表,包含了NewOrder(新订单的生成)、Payment(订单付款)、OrderStatus(最近订单查询)、Delivery(配送)和StockLevel(库存缺货状态分析)等五类业务事务模型。TPC-C使用tpmC值(Transactions per Minute)来衡量系统最大有效吞吐量(MQTh,Max Qualified Throughput),其中Transactions以NewOrder Transaction为准,即最终衡量单位为每分钟处理的新订单数。

标签: 数据库 mysql sql

本文转载自: https://blog.csdn.net/liangsena/article/details/128121232
版权归原作者 森格的博 所有, 如有侵权,请联系我们删除。

“[MySQL]-压力测试之TPCC-MySQL”的评论:

还没有评论