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

这篇具有很好参考价值的文章主要介绍了[MySQL]-压力测试之TPCC-MySQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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


森格 | 2022年10月

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


一、基本概念


1.1 基准测试VS压力测试

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

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

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

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

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]-压力测试之TPCC-MySQL

创建测试数据库

mysql>create database tpcc

mysql -h 127.0.0.1 -P 3306 -uroot -pxxx tpcc < create_table.sql

添加索引

mysql -h 127.0.0.1 -P 3306 -uroot -pxxx tpcc < add_fkey_idx.sql

查看测试数据库

mysql -h 127.0.0.1 -P 3306 -uroot -pxxx tpcc -e "show tables";

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

表格说明:

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  //查看帮助命令

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

参数说明:

  • -w:指定仓库数量。

  • -c:指定并发连接数。

  • -r:指定开始测试前进行warmup的时间,进行预热后,测试效果更好(真实测试场景中,预热时间不小于5分钟,持续压测时长不小于30分钟)。

  • -l:指定测试持续时间。

  • -i:指定生成报告间隔时长。

  • -f:指定生成的报告名称。

  • -t:更详细的操作信息。

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

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

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

第一次处理结果:

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

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

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

测试结果:

事务比例

响应时间

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为准,即最终衡量单位为每分钟处理的新订单数。文章来源地址https://www.toymoban.com/news/detail-448497.html

到了这里,关于[MySQL]-压力测试之TPCC-MySQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 对Mysql和应用微服务做TPS压力测试

    使用工具:mysqlslap工具 使用命令: 对命令行的诠释: 连接MySQL的用户名为root 生成自动SQL语句 使用混合类型的负载进行测试 设定并发数为100到200 每次执行1000个查询 迭代10次 整数列的数量为7 字符列的数量为13 使用自增字段 执行结果如下: 对结果的诠释: 所有查询平均运

    2024年02月03日
    浏览(33)
  • ARM CPU架构下Mysql数据库通过Sysbench压力测试

    写到最前        这段本想写到最后的,但是哥们为了多点粉丝把这个文章设置成了粉丝可见,所以在最前面这段我想谈一下我本人对当前国产信创要求以及ARM架构服务器的看法。         总的来说我对国产信创ARM服务器这条技术路线持绝对乐观的态度。首先从服务器CPU算力

    2024年02月03日
    浏览(51)
  • 特性介绍 | MySQL 测试框架 MTR 系列教程(二):进阶篇 - 内存/线程/代码覆盖率/单元/压力测试

    作者:卢文双 资深数据库内核研发 序言: 以前对 MySQL 测试框架 MTR 的使用,主要集中于 SQL 正确性验证。近期由于工作需要,深入了解了 MTR 的方方面面,发现 MTR 的能力不仅限于此,还支持单元测试、压力测试、代码覆盖率测试、内存错误检测、线程竞争与死锁等功能,因

    2024年02月03日
    浏览(50)
  • 压力测试:使用 JMeter 进行压力测试

    创建新目录 jmeter_demo 在该目录下打开命令行输入: shell 复制代码 go mod init jmeter_demo go mod tidy 随后创建各目录与文件如下: shell 复制代码 -- jmeter_demo -- main main 函数目录(启动http和grpc服务) -- main.go -- proto grpc server 的目录 -- chat.go -- chat.pb.gp -- chat.proto -- test_plan jmeter 测试计划 --

    2024年04月16日
    浏览(42)
  • AIDA64压力测试教程,AIDA64压力测试多长时间,AIDA64压力测试结果怎么看

            硬件管理工具AIDA64功能全面专业,操作简便易学,使用AIDA64进行系统稳定性测试逐渐成为更多用户的选择。可能有很多用户对如何使用AIDA64进行系统稳定性测试不太了解,系统稳定性测试也称为压力测试,或者更通俗的烤机测试,简单叙述下AIDA64压力测试教程,

    2024年02月11日
    浏览(42)
  • 什么是压力测试?如何进行Jmeter压力测试

    软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。 常用的压力测试软件有:LoadRunner、Apache JMeter、NeoLoad、

    2024年02月11日
    浏览(62)
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?

    软件压力测试 一、含义: 软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,以及在高峰期或高负载情况下系统的响应

    2024年02月11日
    浏览(58)
  • Java接口压力测试—如何应对并优化Java接口的压力测试

    在如今的互联网时代,Java接口压力测试是评估系统性能和可靠性的关键一环。一旦接口不能承受高并发量,用户体验将受到严重影响,甚至可能导致系统崩溃。因此,了解如何进行有效的Java接口压力测试以及如何优化接口性能至关重要。 Java接口压力测试是通过模拟大量并发

    2024年02月12日
    浏览(37)
  • 性能测试----负载测试、压力测试、并发测试

    性能测试:检测一个软件的性能。 性能测试的指标: 响应时间:用户从请求到服务器响应的时间 吞吐量:单位时间内成功地传送数据的数量 并发数:在线并且在操作的用户数 负载测试:加负载,找到让系统崩溃的边界点。 压力测试:高负载的情况下跑,看系统稳定性。

    2024年02月15日
    浏览(44)
  • Jmeter进行压力测试不为人知的秘密_jmter压力测试,软件测试面试项目

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新软件测试全套学习资料》

    2024年04月22日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包