jmeter线程数与用户数、tps的认知误区

误区一:jmeter 线程数就是用户并发数

案例:

业务需求:要求tps达到500/s,1000并发数2秒完成处理

大部分的测试同学是这样压测的,将jmeter的线程数直接从200、300、400这样调试到tps出现拐点。如果400线程符合了,就说明支持400的用户数。
更有部分同学验证第二点的时候,直接压测1000个线程

误区:
1、正常的压测过程是,先压测出一个线程下的tps,然后根据以下的公式算出大概需要的jmeter线程数,以上的例子中,如果一个线程下的tps为10tps。那你的jmeter 线程数只需要50个线程就够了。完全不需要200以上,那是在浪费资源

线程数 = 业务tps / 单个线程tps

那我们怎么观察tps拐点呢。
用阶梯式压测:阶梯式压测可以很清晰的显示性能衰减过程,然后这个过程中你可能会看到很奇怪的现象,就是递增过程的抖动,如果这个抖动过大,就是有性能问题。
从上个公式拿到50个线程后,我们以这个为最高线程进行阶梯式压测。观察tps的走势图,如果tps走势不跟线程数呈递增状态,那就有瓶颈。当然并不是说100、200这样的压测不能测出最高tps,而是相比阶梯式压测不那么直观,且要尝试不少线程数场景。

2、jmeter 的虚拟用户数大小不能说明支持的用户数是多少,这里jmeter 的用户数只代表jmeter的压力大小而已,支持的用户数跟你的tps 以及用户的请求次数有关。比如这里的500tps。如果业务场景是一个用户只操作一次接口,那就说明是这个接口能支持500的用户数,这里指的是支持最小的用户数。如果这个接口,1万个用户数,只有1000个是同时操作,那就是这个接口的并发度只有十分之一,那这个接口的支持用户数就是,500tps/0.1 = 5000,也就是支持5000的用户数。

.支持最大并发用户数=TPS /并发度

3、那什么时候下,jmeter的线程数就是支持的用户数呢。需要满足两个点,第一,jmeter 脚本设置循环1次,第二,单接口。

误区二:jmeter 线程数不断增加

在真实压测过程中,我们会发现,当我们压测符合业务需求的时候,我们还会不断的去加压去压测。直接把服务器压到90%的cpu。很多人理解这样的场景是为了验证:如果用户超出了当前评估的用户数,系统会不会挂掉。
根据以下的公式(只代表是这种关系,不能完全等价该公式),你的tps不变的情况下,线程数不断增加,响应时间是肯定是增加的,以致完全超时,所以当你的报告发现大量的超时时,你可以考虑是不是线程数过大了。所以,压测到最优的tps后,就不需要压测了,哪怕最后你的线程数只需要100个线程。有些人很担忧,100个线程,这压力哪够呀,加到1000一步步试。最后压测下来,发现根本没啥区别,除了响应时间大了一点。那就是在浪费你的时间成本。当然这个100线程能体现最优的tps。

tps= 1000/响应时间 * 线程数

那我们怎么解决这个用户是否超量带来的系统问题呢。本质上是业务的需求,也就是说,我们首先怀疑的是,这个tps是否满足了用户数超量的情况。

  • 10
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
课程从基础讲起,全课程以实战为主,每个知识点通过实际案例演练讲解理论+实践结合,更容易理解,适合小白,低门槛,快速上手。 课程同时涵盖web端和移动端app测试,同时还加入了抓包工具的使用; 1) 第一阶段为JMETER 5.4.1 (最新版本)工具使用篇,通过Jmeter 介绍和安装、http 取样器、JDBC 取样器、JMETER 组件详细讲解、配置元件、三种参化方式教你玩转JMETER化、工作过程中间所需的常用函、聚合报告、察看结果树、汇总报告等监听器知识,后置处理器、后置处理器之正则表达式提取器提取响应内容实践、读取本地JSON格式文件实例、正则表达式操作符、正则表达式工具之Regextester,系统全面学习正则表达式,突破JMETER 知识难点,响应断言、JMETER分布式、分布式原理、搭建JMETER 分布式、WebService协议接口测试。 每一个知识点采用理论加案例的方式,吃透每一个知识点,为性能测试实践奠定基础。 2) 第二阶段为性能测试实践篇1、通过JMETER 实践爬虫技术,爬取第三方平台全网页地址、批量爬取国外网站壁纸10W+图片并保存到本地;2、详细介绍Fiddler 抓包工具,Fiddler 抓包工具原理、Fiddler 抓取PC 端和移动端包信息、JMETER+Fiddler 结合使用对PC 端项目进行性能测试项目实践,提升PC 端性能测试能力;3、JMETER+Fiddler  结合使用对app 项目进行性能测试项目实践,提升app项目性能测试能力4、性能测试常见的业务指标和技术指标、响应时间、TPS、HPS等知识进行讲解5、通过JMETER 对移动端项目进行性能测试实战; 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值