jmeter进行性能测试实践
设置场景接口
一、通过抓取一个场景的接口(抓包)
自己抓取需要的接口,进行依赖
流程:1.在网页上F12抓取登录页面和登出页面的URL。2.在jemeter设置线程组,添加http请求输入URL等。3.查看结果数
二、通过boday录制
1、下载badboy 包,下载。进行安装badboyinstaller-2.2.5.exe
2、安装的工程:点击同意
3、修改存储位置,点击install
4、close关闭页面
5、找到下载位置找到应用程序,设置桌面快捷方式
6、显示图标
6、双击图标打开
输入网址:
http://cms.duoceshi.cn/manage/login.do
点击箭头运行
7、录制后脚本导出成后缀jmx的文件,再在左上角文件右击export to JMeter导入到jmetere中
8、将录制号的脚本导入到jmerte中。在jemeter-打开文件
第三种方法:反向代理录制脚本
在jmeter中进行录制
1、新建一个线程(用来接收接口)存放录制的接口
2、工作台中添加代理服务器
工作台-右击-添加非测试元件-http代理服务器
填写端口号,比如8888-检查端口号是否占用-目标控制器选择录制存放的地址 ---启动
查询查看端口是否占用:
命令:netstat -aon|findstr "8888" 空白说明没有占用
排除模式:
.*\.(js|css|PNG|jpg|ico|png|gif|html).* 排除模式,排除不需要的文件类型
再到谷歌浏览器中设置
谷歌的设置中:==高级==代理==使用代理服务器==写三个:127.0.0.1,ipconfig查看locahost、IP地址
录制好的数据就没有多余的HTML等类型的
对数据参数化
一、jmeter 进行(一个接口,多个用户压测)
1、在项目中新建用户(100个或1000个)
(1)新增用户:点击新增,新增接口(线程数10000),数据库中用户表存储过程造数(10000)
(2)jmeter新增登录接口,账号,密码设置成变量
新建线程组,加入http请求没输入web服务器协议和IP以及http请求方式和路径,添加名称和值
(3)前置处理器的用户参数
(4)设置线程组数,查看结果
二、并发测试(同一时间,同一个点发送接口)
1、准备两个接口:登录接口,一个用户查询接口
登录 接口
查询接口(在网页F12抓数据)
运行结果不是统一的
并发测试
右击添加定时器,选择Synchronizing Timer 集合点
集合点的概念: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毫秒)
上边填并发数,下面设置超时时间
最大并发数:
最佳并发数:
三、稳定性测试
(1)设置开始时间--结束时间,选择循环次数:一直运行
(2)设置持续时间
四、基准测试
最大压测1000个用户,现在用10个用户压测,基准测试
一、性能插件的安装
1、下载jar包
2、将jar存放路径:
路径:
3、启动插件
显示:
4、重启jmeter,显示以下的插件,表示安装插件成功
二、性能插件的认识:
@gc - Active Threads Over Timeip 活动线程时间
@gc - AutoStop Listener 自动停止侦听器
@gc - Bytes Throughput Over Timejp 字节吞吐量随时间变化
@gc -Composite Graph 综合图
@gc - Connect Times Over Timejp 连接时间
@gc -Console Status Loggerjp 控制台状态记录器
@gc - DbMon Samples Collectorjp (DbMon Collectorjp样品收集器
@gc -Flexible File Writer 监听器之灵活的文件写入
@gc - Graphs Generatorjip 图形发生器
@gc - Hits per Second 每秒点击次数
@gc -JMXMon Samples Collectorjp (JMXMon样品收集器
@gc - Page Data Extractor 页面数据提取器
@gc - PerfMon Metrics Collectorjip 性能指标收集器
@gc - Response Codes per Secondjip 每秒响应数
@gc - Response Latencies Over Timejip 随时间间隔变化的响应延迟
@gc - Response Times Distributionjip 响应时间分布图
@gc - Response Times Over Time 随时间变化的响应时间
@gc - Response Times Percentilesjip 响应时间百分位数
@gc - Response Times vs Threadsjp 响应时间vs线程
@gc - Synthesis Report (filtered) 综合报告(过滤)
@gc - Transaction Throughput vs Threadsjip 整个线程的事务
@gc - Transactions per Second 每秒事务数
三、实战插件指标
1、设置压力测试1000:
2、添加所有插件:
注意点:不要添加jp@gc - PerfMon Metrics Collector,会报错
其他全部添加,收集信息
四、解释每一个性能插件的信息:了解各个插件的功能
https://www.cnblogs.com/xiaolehong/p/18142818 性能插件
五、熟悉性能指标
https://www.cnblogs.com/xiaolehong/p/18142797 性能指标
https://www.cnblogs.com/xiaolehong/p/16786225.html tps