jmeter性能测试(2)——实战
一、单接口性能测试(同一用户进行压力测试)
- POST http://49.233.201.254:8080/cms/manage/loginJump.do
 - POST data:userAccount=admin&loginPwd=123456
 

- 按100 压力测试
 
(1)在线程中修改虚拟用户数

- 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
 - Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要50秒钟启动500个线程,也就是每秒钟启动10个线程。
 - 循环次数:每个线程发送请求的次数。如果线程数为500,循环次数为2,那么每个线程发送2次请求。总请求数为500*2=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
 - Delay Thread creation until needed:直到需要时延迟线程的创建。
 - 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
 - 持续时间(秒):测试持续时间,会覆盖结束时间
 - 启动延迟(秒):测试延迟启动时间,会覆盖启动时间
 - 启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。
 - 结束时间:测试结束时间,持续时间会覆盖它。
 
(2)添加查看结果树

(3)添加聚合报告


1.聚合报告参数详解:
- Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
 
#Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
- Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
 - Median:中位数,也就是 50% 用户的响应时间
 - 90% Line:90% 用户的响应时间
 - 95% Line:90% 用户的响应时间
 - 99% Line:90% 用户的响应时间
 - Min:最小响应时间
 - Max:最大响应时间
 - Error%:错误率——错误请求数/请求总数
 - Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
 - KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
 
2.一般而言,性能测试中我们需要重点关注的数据有:
#Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量
二、单接口性能测试(不同用户进行压力测试)
(1)登录接口设置变量

(2)后台造数据用户(10个)
(3)通过前置处理中的用户参数或csv data config

(4)在线程中设置虚拟用户

(5)查看结果树,聚合报告,图形报告,表格报告

- 查看结果树
 

- 聚合报告
 

- 表格报告
 

- 图形报告
 

三、一个场景的接口测试(压力测试同一用户)
场景:登录接口,
POST http://49.233.201.254:8080/cms/manage/loginJump.do
POST data:userAccount=admin&loginPwd=123456
用户查询成功
POST http://49.233.201.254:8080/cms/manage/queryUserList.do
POST data:startCreateDate=&endCreateDate=&searchValue=&page=1
(1)将两个接口填入到jmeter 或录制到jmeter中

(2)将接口调通:加cookie,加请求头等

(3)填写虚拟用户数和等待时间


四、性能场景测试(不同用户一个场景压力测试)
(1)前置处理中添加用户参数,导入用户



(2)填写查询用户接口

(3)接口有依赖关系,添加cooike值

(4)添加查看结果树,聚合报告

五、并发测试
同一时间,同一个点进行接口测试


- 集合点的概念:loadrunner中集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下多个用户同时操作实现性能测试的最终目的。jmeter
 
中使用Synchronizing Timer实现Lr中集合点的功能,模拟多用户并发测试,即多个线程在同一时刻并发请求。
1、线程组右键 -> 定时器 -> Synchronizing Timer
2、参数设置
- a. Number of Simulated Users to Group by: 此处填写并发数量
 - b. Timeout in milliseconds: 超时时间设置
 
Jmeter默认没有超时时间,如果没有设置,一旦没有达到集结数量的请求系统就一直等待。

计算超时时间方法参考: 并发数量 * 1000毫秒/ 线程数/在多少时间启动这么多线程
10*1000/(10/10)=10000
- 定时器作用域:
 
作用于该定时器之后的所有请求,也就是说定时器实在请求执行前起作用的并发数和线程数一致时,并发启动时间,一定要大于线程组启动,如果小于这个时间,并发数量不准确。
(注意:线程组整理的启动时间单位是秒,定时器里的等待时间是:毫秒 ,要注意单位换算,1秒=1000毫秒)

六、基准测试(稳定测试)


                    
                
                
            
        
浙公网安备 33010602011771号