当前位置: 首页 > article >正文

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


http://www.kler.cn/news/327018.html

相关文章:

  • 查看 .so 库(共享对象库)的依赖
  • linux驱动编程——等待队列
  • 显示器放大后,大漠识图识色坐标偏移解决方法
  • 【leetcode】122. 买卖股票的最佳时机 II
  • Linux下路由信息探测traceroute
  • UE4_Niagara基础实例—5、骨架网格体表面生成粒子及过滤骨骼位置生成粒子
  • 不同领域神经网络一般选择什么模型作为baseline(基准模型)
  • 【如何在Linux系统本地快速部署Leanote蚂蚁笔记】
  • SQL第9课——汇总数据
  • 命令模式
  • PCL 索引空间采样
  • golang fmt.Sprintf 引用前述变量
  • java将word转pdf
  • python 实现lstm prediction预测算法
  • 【C++】unordered_map(set)
  • 几种常见点云开源库——点云、网格数据结构转换
  • 麒麟桌面系统V10 SP1安装php的达梦数据库扩展
  • latex打出邮箱图标和可点击的orcidID
  • NXP(恩智浦)—MC33PF8200A0ES PMIC芯片详解
  • 【COSMO-SkyMed系列的4颗卫星主要用途】
  • Spring Boot技术:构建高效网上购物平台
  • 高效学习工作SMART原则
  • C++中set集合和Python中set集合的区别
  • 【Golang】关于Go语言数学计算、随机数生成模块--math
  • 微信小程序使用picker,数组怎么设置默认值
  • RabbitMQ MQ的可靠性及消费者的可靠性
  • 【Ubuntu】VMware中虚拟网卡与服务器网卡的绑定
  • XHTML学习
  • MacOS升级Ruby版本详解:步骤、挑战与解决方案
  • 【Linux:线程概念】