【性能测试】二、TPS、QPS、RT和吞吐量这些都是什么?

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 【性能测试】二、TPS、QPS、RT和吞吐量这些都是什么?

题目所示的其实都是性能需求指标


通常,性能指标可以从两个层面去定义:业务指标技术指标。而且,这两个之间是存在映射关系的。


举例,如果一个系统要支持 1000 万人在线,可能你能测试出来的结果是系统能支持 1 万 TPS。但是,如果问你,1000 万人在线会不会有问题?这估计就很难回答了。


1268169-20210714172256394-267512010.png

所以,业务指标和技术指标的关系是:


  • 所有的技术指标都是在有业务场景的前提下制定的
  • 技术指标和业务指标之间也要有详细的换算过程


有了关系之后,就可以回答“1000 万人在线会不会有问题?”。比如,我可以回答“有问题”,因为1万 TPS 的时候,接口的响应时间大幅超过预期。


一、什么是 TPS


TPS,这是一项关键指标,用来描述每秒事务数,可以反应出一个系统的处理能力。


但是,TPS 在不同的行业、不同的业务中定义的粒度都是不同的。所以不管你在哪里用 TPS,一定要有一个前提,就是所有相关的人都要知道你的 T 是如何定义的

如图所示,一个业务流程图:


1268169-20210714173441047-1977121931.png


  • 如果要单独测试接口 1、2、3,那么 T 就是接口级的。
  • 如果我们要从用户的角度来下一个订单,那 1、2、3 应该在一个 T 中,这就是业务级的了。


当然了,还要具体看系统是怎么设计的。通常来说,积分服务是异步的,而库存不是异步,那么这个业务级就可以看做是 1、2 两个接口。但是,在做这样的业务级压力时,3 接口也是必须要监控分析的。


所以,性能中 TPS 中 T 的定义取决于场景的目标和 T 的作用


具体用示例来说明下:


接口级脚本


——事务 start(接口 1)
接口 1 脚本
——事务 end(接口 1)
——事务 start(接口 2)
接口 2 脚本
——事务 end(接口 2)
——事务 start(接口 3)
接口 3 脚本
——事务 end(接口 3)


业务级接口层脚本(就是用接口拼接出一个完整的业务流):


——事务 start(业务 A)
接口 1 脚本 - 接口 2(同步调用)
接口 1 脚本 - 接口 3(异步调用)
——事务 end(业务 A)


结合上述示例,再次理解下:你要创建什么级别的事务,完全取决于测试的目的是什么,这句话。


另外,在测试过程中,通常是先接口级、后业务级的顺序,容易定位问题。


二、什么是 QPS


QPS 一开始是用来描述 MySQL 中 SQL 每秒执行数 Query Per Second,所有的 SQL 都被称为 Query。后来,由于一些文章的转来转去,QPS 被慢慢地移到了压力工具中,用来描述吞吐量。


如果描述的是前端的每秒查询数,那就不包括插入、更新、删除操作了。显然这样的指标用来描述系统整体的性能是不够全面的,所以不建议用 QPS 来描述系统整体的性能。


三、什么是 RT


RT 就是响应时间(Response Time)。


1268169-20210715213847030-650006861.png


图示中 T1 和 T2 分别代表请求时间和返回的时间,所以 T1 - T2 = RT,即响应时间。

不过这个响应时间是包括了后面一连串的链路,如果要定位响应时间慢在哪里,就要知道各环节的耗时,除了在所有服务的进出口上都做记录,然后计算结果来实现,目前也有成熟的工具。


1268169-20210715214928673-275708635.png


它很直观地显示了,在一个请求链路上,每个节点消耗的时间和请求的持续时间。


四、吞吐量


通常是不需要用吞吐量这个概念的。因为它在不同人的脑子里会存在一些误解。


比如说,有些人说吞吐量就是在说TPS。有些人说吞吐量是说的每秒字节数。所以不建议用这个概念来承载性能指标,有TPS就够了


1268169-20210715220145446-1571549895.png


五、总结


关于性能测试的种种,简化完后,需要记住的关键字是:


  • 性能测试概念中:性能指标、性能模型、性能场景、性能监控、性能实施、性能报告。
  • 性能场景中:基准场景、容量场景、稳定性场景、异常场景。
  • 性能指标中:TPS、RT。
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
7月前
|
测试技术
软件测试中的QPS和TPS解析:以秒杀系统为例
软件测试中的QPS和TPS解析:以秒杀系统为例
332 0
软件测试中的QPS和TPS解析:以秒杀系统为例
|
6月前
|
缓存 Linux API
深入解析 JMeter TPS 测试:从理论到实践
本文档介绍了如何使用Apache JMeter进行TPS测试。TPS(Transactions Per Second)是衡量系统性能的关键指标,表示每秒处理的事务数。在JMeter中,创建测试计划包括配置线程组、HTTP请求、定时器和监听器。运行测试后,通过聚合报告分析吞吐量、平均响应时间和错误率来计算TPS。当TPS不足时,可优化服务器资源、应用程序代码、数据库查询或引入缓存来提升性能。掌握TPS测试有助于系统性能优化。
|
7月前
|
算法 测试技术 Linux
LabVIEW NI CompactRIO控制器:性能和吞吐量基准测试
LabVIEW NI CompactRIO控制器:性能和吞吐量基准测试
78 1
|
Java 应用服务中间件 测试技术
Tomcat压力测试tps性能下降问题
Tomcat压力测试tps性能下降问题
100 0
|
7月前
|
网络协议 测试技术 网络性能优化
Android系统 以太网吞吐量和丢包测试
Android系统 以太网吞吐量和丢包测试
299 1
|
Python
【nvidia jetson xavier】Deepstream 自定义检测Yolo v5模型吞吐量测试
【nvidia jetson xavier】Deepstream 自定义检测Yolo v5模型吞吐量测试
591 0
|
关系型数据库 MySQL 测试技术
【性能测试】三、TPS 和并发数是什么关系?
【性能测试】三、TPS 和并发数是什么关系?
【性能测试】三、TPS 和并发数是什么关系?
|
测试技术
软件测试面试题:如何理解TPS?
软件测试面试题:如何理解TPS?
202 0
|
测试技术
软件测试面试题:响应时间和吞吐量间的关系是什么?
软件测试面试题:响应时间和吞吐量间的关系是什么?
194 0
|
监控 测试技术 Linux
网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解
常用的网站性能测试指标有:吞吐量、并发数、响应时间、性能计数器等。 并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。
1426 0