JMeter是一款开源免费的接口性能压测工具,在企业中用的较为广泛,上节我们学习了JMeter常用监听器。今天分享JMeter并发测试,后续文章都会系统分享干货,带大家从0到1学会JMeter,另外还有教程等同步资料加小编V(flyhappy111)领取即可。
01概念
并发测试:旨在评估系统在同时处理多个用户请求时的性能。在这种测试中,系统会暴露于一定数量的用户负载下,并且会记录系统的响应时间、吞吐量和资源利用率等指标,这些指标可以用来确定系统的性能瓶颈,以及在不同负载下系统的表现。
持续性压测:旨在评估系统在长时间运行或高负载下的性能。在这种测试中,系统会暴露于一定数量的用户负载下,并且会持续一段时间运行,通常在几个小时或几天。这种测试可以用来确定系统在长时间运行下的表现,以及在高负载下系统是否具有可扩展性。
02并发测试
在并发测试中,需要选择合适的参数,以模拟实际场景中的用户行为。
这些参数包括:
并发用户数:应根据系统的预期使用情况和硬件配置来确定。
请求类型:应选择与实际场景中的用户行为相同或相似的请求类型。
请求频率:应根据实际场景中的用户行为和系统的处理能力来确定。
测试时间:应考虑系统的稳定性和可靠性,通常应持续一段时间。
测试环境:应选择与实际生产环境相同或相似的测试环境。
并发是在线程组下的线程属性中设置。
03并发测试步骤
1.创建线程组
测试计划(右键)-添加-线程(用户)-线程组,修改线程组名称
2.添加http请求
3.创建查看结果树与聚合报告
4.添加同步定时器
5.JMeter生成测试报告
汇总测试报告或者聚合报告可以通过JMeter查看,也可以生成报告查看。很多时候需要出测试报告,所以需要生成测试报告查看。
1.打开cmd命令模式进入JMeter的bin目录。
2.执行命令。需要注意bin目录下jmx文件路径以及生成报告report路径是否正确,另外需要注意每次生成result文件必须是新的,且report目录不能有其他文件,否则报错无法执行。
jmeter -n -t D:\Jmeter\apache-jmeter-5.3\bin\test.jmx -l result.jtl -e -o D:\Jmeter\apache-jmeter-5.3\report
参数说明:
-n: 非GUI模式执行JMeter
-t: 执行测试文件所在的位置
-l: 指定生成测试结果的保存文件,如:jtl文件格式,txt文件格式
-e: 测试结束后,生成测试报告
-o: 指定测试报告的存放位置
6.查看聚合报告
报告说明:
1.Label:请求的名称,就是脚本中Sampler的名称。
2.#Samples(样本):总共发给服务器的请求数量,如果模拟10个用户,每个用户迭代10次,那么总的请求数为:10*10 =100次。
3.Average(平均值):默认情况下是单个Request的平均响应时间,当使用了Transaction Controller(事务控制器) 时,也可以用Transaction的时间,来显示平均响应时间 ,单位是毫秒。
4.Median(中位数):50%用户的响应时间小于该值。
5.90% Line(90% 百分位):90%用户的响应时间小于该值。
6.95% Line(95% 百分位):95%用户的响应时间小于该值。
7.99% Line(99% 百分位):99%用户的响应时间小于该值。
8.Min(最小值):最小的响应时间。
9.Maximum(最大值):最大的响应时间。
10.Error%(异常%):错误率=错误请求的数量/请求的总数。
11.Throughput(吞吐量):默认情况下表示每秒完成的请求数(Request per Second)。
12.Received KB/sec (接收数据):每秒从服务器端接收到的数据量。
13.Sent KB/sec(发送):每秒发送到服务器端的数据量。
如果需要持续性压测则设置http请求的时候,按下图置即可:
04总结
在 JMeter 中设置并发是一个重要的过程,需要仔细考虑您要模拟的负载情况以及系统的容量。通过正确设置,可以更好地模拟实际情况并获得更准确的测试结果。