当前位置: 代码网 > it编程>软件设计>软件测试 > 【Jmeter进阶】压力测试大杀器:Jmeter使用技巧与总结!

【Jmeter进阶】压力测试大杀器:Jmeter使用技巧与总结!

2024年08月03日 软件测试 我要评论
代表一定数量的并发用户,所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。建立所有线程的周期,就是告诉jmeter要在多久没启动所有线程,保证在最后一个线程启动时,第一个线程还在运行中,已达到压测的目的。默认值为0,,意味着jmeter执行测试立即就要启动完所有线程发送请求,很容易导致服务器过载,这是不合理的,我们想要的应该是逐渐增加用户访问量达到峰值。若设置为Ts,意味着每隔T/NS建立一个线程,在T秒内建立完所有线程。

一、基本概念

1.线程组n:代表一定数量的并发用户,所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。

2.ramp-up period(in seconds):建立所有线程的周期,就是告诉jmeter要在多久没启动所有线程,保证在最后一个线程启动时,第一个线程还在运行中,已达到压测的目的。

默认值为0,,意味着jmeter执行测试立即就要启动完所有线程发送请求,很容易导致服务器过载,这是不合理的,我们想要的应该是逐渐增加用户访问量达到峰值。

若设置为ts,意味着每隔t/ns建立一个线程,在t秒内建立完所有线程。

3.循环次数a:指在一个线程在持续时间内发送请求的次数,压测时,循环次数设置为永远。

4.调度器->持续时间:模拟用户并发行为持续的时间,也就是脚本持续运行的时间,一般是10分-20分钟。

5.调度器->启动延迟:意味着在多久后模拟用户并发开始,也就是脚本启动延迟的时间,点击启动后,还是默认等到延迟时间到达后才启动。

6.启动时间,结束时间:可以设置脚本启动和结束时间,相当于定时,设置好,运行结束后自动报名结果。

具体如下图:

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

二、压测指标

脚本执行后,在测试计划->线程组->监听器->聚合报告查看压测结果

1.samples:请求总数,即在这次测试时一共发了多少次请求。

2.average:即平均响应时间,一般是单个 request 的平均响应时间,指从客户端发送请求到服务器返回数据的时间,这个值越小越好。

3.median:50% 用户的响应时间

4.90% line:90% 用户的响应时间

5.error%:本次测试中的错误率,值=出现错误的请求的数量/请求的总数

6.throughput:即tps,吞吐量指服务器端每秒处理的请求数。

具体如下图所示:

三、jmeter分布式压测

客户机没有足够的能力来模拟较重的负载,我们可以使用jmeter的分布式测试功能来通过一个jmeter控制台来远程控制多个jmeter引擎完成测试。

3.1实现原理:

  • 有多电脑,一台作为控制机(controller),其它机器做为代理机(agent);
  • 脚本发送到每台机器上,agent机器不需要启动jmeter,通过ip找到代理机器,在通过jmeter-server.bat文件找到代理机的jmeter,让其帮忙发请求;
  • 执行后,agent把结果回传到controller汇总。

3.2实现步骤:

  • 有多台电脑,每台电脑上都有jmeter,而且这几台电脑都互相能ping通;
  • 在控制机的jmeter的配置文件里面添加了代理机的ip;
  • 在代理机上启动运行jmeter-server.bat文件,不需要启动jmeter;

注意:如果有参数化文件,在代理机上的相同位置也要放置一份参数化文件。

3.3控制机配置

打开jmeter\apache-jmeter-3.0\bin\jmeter.properties文件,搜索remote_hosts,将所有代理机的ip地址加在控制机的配置文件中。

 配置好后,代理机器都启动运行jmeter-server.bat文件,然后执行脚本即可。

那么如何启动所有机器呢?修改配置文件后,重启jmeter,在运行->远程启动下显示所有控制机和代理机的ip。选择远程所有启动,就会启动所有机器。

3.4 linux下运行压测脚本

在windows电脑上保存已做好的压测脚本,比如:http请求.jmx。

  • linux下无图形化界面,将jmeter\apache-jmeter-3.0\bin目录(bin目录)放到环境变量path下,我们就可以用jmeter的命令啦;
  • 然后执行命令:jmeter -n -t  e:\path\http请求.jmx -l  e:/path/res.jtl
  • -n:代表在没有图形化界面下运行,-t 指定一个测试脚本,-l 指定结果文件,这个结果文件后缀名为.jtl

四 jmeter操作数据库

下载mysql-connector-java-5.1.7-bin.jar包,具体操作如下图:

在线程组->添加->配置原件->添加jdbc connection configration,设置参数如下图,记得加上:

在线程组->sample->添加jdbc request,参数设置如下图:

 sql语句执行结果,在察看结果树中察看结果。

end今天的分享就到此结束了!点赞关注不迷路~

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com