Jmeter 性能压测-常遇问题与解决技巧

问题1:如何在大并发测试下,让登录或者后续接口只执行一次?

分析:

这个问题网上的答案其实很多,但是大多不靠谱。

比如推荐使用仅一次控制器,但是仅一次控制器对线程组无效;

比如推荐跨线程组调用,但是这样比较繁琐,新人也搞不定;其实只要各位对元件熟悉,这个问题很简单

下图100线程:

图片

添加一个吞吐量定时器,选择总数计算

图片

问题2:在Jmeter压测过程中有哪些大的性能消耗?

分析:

压测过程中如果加入了数据的读写,会不会影响性能结果?

我们知道,读写本地文件是需要和磁盘做交互的。磁盘在系统中处于最底层,速度是最慢的。

频繁的磁盘交互会极大的增加性能开销,影响测试结果。会降低实际的tps。

解决方案:

首先把cookie存到系统属性里面。存属性就相当于存到了应用缓存,缓存的查询效率是最高的。

\({__setProperty(cookie,\){cookie},)}

图片

图片

后续请求处理cookie的时候,直接从属性表里面提取${__P(cookie,)}

图片

问题3:如何识别tps拐点?

分析:

先分析下面这张图。下面这张图上展示了阶梯负载量,响应时间,tps三种数据

图片

从图上能看出来三个趋势

  1. tps升到一个相对高点之后,长期维持稳定,不再升高

  2. 运行一段时间之后,响应时间开始逐渐升高,但是趋势不明显

  3. 随着负载越来越高,tps长期保持稳定

分析:

在负载逐渐升高的情况下,tps却长期不变。这并不是说明性能很稳定,而是说明我们单位时间内的单线程tps是在逐渐降低的(单位时间tps/总线程)

再分析响应时间,我们的响应时间其实也是在逐渐升高,从侧面反映出线程的tps是在下降的。

但是具体在多少负载量的时候我们的瓶颈点已经到来?

这张图上不好计算,我们换一个监听器

图片

这张图的趋势就比较明显了。随着负载升高,线程的tps逐渐达到一个高点,然后开始下降。那么这个最高点就是我们的性能瓶颈点

问题4:Jmeter的4444端口无法监听远程服务器怎么解决?

解决方案:

4444端口在阿里云和腾讯云服务上,是默认不开放的。

想要监听到,有两种办法,一种是防火墙开放4444端口,一种是更换端口

命令如下

./startAgent.sh --udp-port 0 --tcp-port 1234

图片

问题5:远程机执行Jmeter脚本,怎么自动切换csv参数路径格式?

解决方案:

只需要在参数路径中加入一组函数,就可以实现参数路径自动定位,如下

{__P(user.dir,)}{__P(user.dir,)}{__P(file.separator,)}test.txt`

图片

这一组函数的作用是,不论在Linux还是在本机,都可以自动切换路径格式,不需要手动修改。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter是一种常用的性能测试工具,它可以帮助开发人员评估应用程序或网站在不同负载下的性能表现。对于性能压测,你可以使用JMeter来模拟多个用户同时访问系统,并收集各项指标,如响应时间、吞吐量和错误率等。通过这些指标,你可以评估系统在不同负载条件下的稳定性和性能表现。 为了进行JMeter性能压测,你可以按照以下步骤: 1. 安装JMeter:首先,你需要从官方网站下载并安装JMeter。 2. 创建测试计划:打开JMeter,并创建一个新的测试计划。在测试计划中,你可以添加线程组、定时器、取样器、监听器等组件,以设置并收集所需的压测数据。 3. 配置线程组:在线程组中,你可以设置并发用户数、循环次数、Ramp-Up时间等参数,以模拟真实用户的访问行为。 4. 添加取样器:取样器用于模拟用户发送请求,并收集服务器的响应数据。你可以根据需要选择合适的取样器,如HTTP请求、FTP请求等。 5. 配置监听器:监听器用于收集和显示压测结果。你可以选择适当的监听器,如查看结果树、聚合报告、图形结果等,来监控系统的性能指标。 6. 运行测试计划:在JMeter中,你可以点击“运行”按钮来执行测试计划。在执行过程中,JMeter会模拟多个并发用户发送请求,并记录和分析服务器的响应数据。 7. 分析测试结果:执行完测试计划后,你可以使用JMeter提供的各种报表和图表来分析性能测试结果。这些结果可以帮助你评估系统的性能瓶颈和优化方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值