性能测试学习之jmeter单场景使用示例
前言
做性能测试主要用于检测系统性能是否符合需求标准

以上为性能测试流程
- 需求分析,分析系统性能指标
- 准备环境、工具和场景
- 准备脚本,基于不同的性能场景完成测试准备
- 执行脚本,获取数据
- 判定指标是否满足要求
- 如果达标,还会继续进行下一步性能测试,了解系统阈值,测试系统是否具备抗风险能力
- 不达标则进入性能诊断
比如:CPU占用过高,响应时间下降,吞吐量下降,硬件资源占用上升
首先检查那个进程占用过高内存,查看该进程下哪个线程造成的,从线程定位到代码 - 给开发人员提出优化建议
提示:以下是本篇文章正文内容,下面案例可供参考
示例1:首页支持5个用户并发,时间在3s内,容错率不超过2%
1、新建线程组

1、线程组相当于用户组,多少个线程相当于多少个用户,所有取样器都在线程组下,所有任务都基于线程组;
2、ramp-up period就是启动设置的线程所需要的时间。如果选择了10个线程,并且ramp-up period是5秒,那么JMeter将使用5秒使10个线程启动并运行。1s就要启动两个线程。(这个启动线程所需时间是自己设置的,具体根据项目的服务器性能来设置,如果设置的时间过短,服务器性能不足,也会影响后面的执行的结果)
3、循环就是规定时间循环执行的次数。 比如线程数10,时间是5秒,循环2次,也就是说,一秒会执行两个线程2次循环,一秒并发4次请求;
按照题目要求支持5个用户并发,即设置5个用户

2、设置HTTP请求

设置协议、IP、端口、路径
以百度为例

3、设置监听器
- 有用户数,先设置活跃线程数的监听器(active threads)
- 响应时间——response over time
- 错误率——聚合报告

4、启动

5、查看结果
1.首先查看活跃线程数

从快接近第5 s开始,红线接近平缓,所有用户都正在运行,所以查看响应时间的报告时,也应该从第5s开始看,20结束
2.查看响应时间

从第5秒开始查看响应时间,最高不超过800毫秒
3.查看错误率
打开聚合报告

异常率为0,并且百分之99的时间里,平均响应时间是133毫秒,符合本次性能测试要求
示例2:访问首页响应时间不超过3s,最多能支持多少用户并发?
两种方案:
(1)根据服务器性能,估算一个最大用户数,根据测试结果,将原用户数加(或减)原用户数的一半(100用户,性能未达到瓶颈,人数则为100+100/2=150),知道获取到最大用户数
(2)每隔10s增加一个用户
此处使用第二种方式进行测试
1、 新建线程组
逐步加压的线程组使用ultimate thread group(比起普通的线程组更加准确,因为普通线程组加用户时候是取平均值,只要在10s完成即可)

2、添加http请求
与示例1一致,可直接复制

3、监听器与结果
访问首页响应时间不超过3s,最多能支持多少用户并发
- 有用户数,先设置活跃线程数的监听器(active threads)
- 响应时间与用户数的关系(response times vs threads)
- 错误——聚合报告、查看结果数


根据以上结果可修改用户数为初始线程数为700,每秒增加5个线程数
直至得到最后3s内最多支持多少用户并发