【性能测试】三、TPS 和并发数是什么关系?

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 【性能测试】三、TPS 和并发数是什么关系?

一、什么是并发


或许你在网上会得到"绝对并发""相对并发"这两个概念。绝对并发指的是同一时刻的并发数;相对并发指的是一个时间段内发生的事情。


但实际上,我们讲并发的时候不需要去区分上面这2个概念。为什么?


想象中的并发


1268169-20210716230708508-2135632886.png


假设上图中的这些小人是严格按照这个逻辑到达系统的,那显然,系统的绝对并发用户数是 4。如果描述 1 秒内的并发用户数,那就是 16。


实际中的并发


1268169-20210716230758865-195110854.png


这些用户会分布在系统中不同的服务、网络等对象中。这时候"绝对并发"这个概念就难描述了,你说的是哪部分的绝对并发呢?


所以,在讲并发的时候,不用有“相对”和“绝对”的概念,这样可以简化沟通,也不会出错


至于如何描述上面的并发用户数?可以直接用 TPS 来承载“并发”这个概念。


比如说,并发数是 16 TPS,就是指 1 秒内整个系统处理了 16 个事务。


依赖 TPS 来承载的时候,指的都是 Server 端的处理能力,并不是压力工具上的并发线程数


二、计算并发用户数


并发用户数要基于在线用户数来计算,另外还有一个关键参数:并发度


1268169-20210717084744415-1874796722.png


总共有 32 个用户进入了系统,但是绿色的用户并没有任何动作,那么显然,在线用户数是 32 个,并发用户数是 16 个,这时的并发度就是 50%。


三、压力工具中的线程数、响应时间和 TPS 的关系


首先,压力工具中的线程或用户数不是用来描述性能表现的


"并发用户数"转化到"压力机的并发线程数"


可以先做一个基准测试。


比如,这里有个简单逻辑:


  • JMeter(1 个线程) - Nginx - Tomcat - MySQL


此时,单个线程下 JMeter 的平均响应时间基本都在 5ms。所以它的 TPS 应该接近 1000ms / 5ms = 200TPS


现在启动 10 个线程,平均响应时间在 25ms。现在的 TPS 应该接近 (1000ms / 25ms) * 10 = 400TPS


那么,就有一个计算公式了:


1268169-20210717091032437-649040390.png


所以,对于压力工具来说,只要不报错,我们就关心 TPS 和响应时间就可以了。因为 TPS 反应出来的是和服务器对应的处理能力,至于压力线程数是多少,并不关键


四、总结


梳理在线用户数、并发用户数、TPS(这里假设了一个用户只对应一个事务)、响应时间之间的关系,需要注意:


  • 通常所说的并发都是指服务端的并发,而不是指压力机上的并发线程数,因为服务端的并发才是服务器的处理能力。
  • 性能中常说的并发,是用 TPS 这样的概念来承载具体数值的。
  • 压力工具中的线程数、响应时间和 TPS 之间是有对应关系的。


在性能项目中,要简化概念,注重实用性。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
7月前
|
测试技术
软件测试中的QPS和TPS解析:以秒杀系统为例
软件测试中的QPS和TPS解析:以秒杀系统为例
318 0
软件测试中的QPS和TPS解析:以秒杀系统为例
|
7月前
|
监控 供应链 测试技术
PTS压测问题之自动变成500 并发如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
404 2
|
6月前
|
缓存 Linux API
深入解析 JMeter TPS 测试:从理论到实践
本文档介绍了如何使用Apache JMeter进行TPS测试。TPS(Transactions Per Second)是衡量系统性能的关键指标,表示每秒处理的事务数。在JMeter中,创建测试计划包括配置线程组、HTTP请求、定时器和监听器。运行测试后,通过聚合报告分析吞吐量、平均响应时间和错误率来计算TPS。当TPS不足时,可优化服务器资源、应用程序代码、数据库查询或引入缓存来提升性能。掌握TPS测试有助于系统性能优化。
|
Java 应用服务中间件 测试技术
Tomcat压力测试tps性能下降问题
Tomcat压力测试tps性能下降问题
|
7月前
|
消息中间件 监控 关系型数据库
PTS压测问题之多账号并发登录配置如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
304 2
|
消息中间件 缓存 NoSQL
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
【红包雨压测】提供2万用户30秒内5次请求的并发服务支持
168 0
|
弹性计算 负载均衡 测试技术
关于10万并发压测时弹性扩容失效问题回答
关于10万并发压测时弹性扩容失效问题回答
|
测试技术 数据库
接口并发性能测试开发之:从测试方案设计、测试策略、指标分析到代码编写,这一篇全搞定。
接口并发性能测试开发之:从测试方案设计、测试策略、指标分析到代码编写,这一篇全搞定。
360 0
|
测试技术
性能测试(21)——常用平均并发数计算公式
PV:(Page View):即页面访问量,每打开一次页面PV计数+1,刷新页面也是。PV只统计页面访问次数。 UV(Unique Visitor):唯一访问用户数,用来衡量真实访问网站的用户数量。 一般用UV统计用户活跃数,用PV统计用户访问页面的频率
992 0
性能测试(21)——常用平均并发数计算公式
|
测试技术 数据库 云计算
性能测试中如何确定并发用户数
性能测试中如何确定并发用户数 近日,Hitest在其技术博客上发表了一篇题为 《并发用户数与TPS之间的关系》的文章,文章对TPS和并发用户数做了详细的解释,并针对性能测试中系统性能的衡量维度和测试策略给出了自己的建议。Hitest是阿里巴巴技术质量部提供的一款Web&移动应用安全测试SaaS化服务平台,旨在帮助开发者简单快捷地进行安全测试。