jmeter进行性能测试实践

ops/2024/10/21 7:36:20/

设置场景接口

一、通过抓取一个场景的接口(抓包)

自己抓取需要的接口,进行依赖

流程: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.ppmy.cn/ops/118976.html

相关文章

利士策分享,如何在有限的时间内过上富足的生活?

利士策分享,如何在有限的时间内过上富足的生活? 在快节奏的现代生活中,追求富足不仅仅是物质上的丰盈,更是心灵的满足与生活的平衡。 如何在有限的时间内实现这一目标,是许多人心中的疑问。 以下是一些实用建议&#…

如何在Excel中快速找出前 N 名,后 N 名

有如下销售额统计表: 找出销售额排前 10 名的产品及其销售额,和销售额排倒数 10 名以内的产品及其销售额,结果如下所示: 前 10 名: spl("E(?1).sort(ProductSales:-1).to(10)",A1:C78)后 10 名&#xff1…

机器学习概述

前言 什么是机器学习? 机器学习有什么用? 如何用机器学习? 本文会围绕这几个问题进行阐述。 机器学习:是人工智能的一个子集,专门研究计算机如何模拟或实现人类智能行为,以获取新的知识或技能&#xff0c…

C#里使用最简单的线程调用界面更新的方法

在C#的界面应用里,经常会遇到线程里计算得到的数据,要更新到界面上。 但是线程与界面线程一般不是同一个线程,不能直接调用更新,需要采用委托的方式来更新。 意思就是说,要线程把数据定义更新的方法之后,…

git cherry-pick作用

git cherry-pick&#xff0c;它允许你将一个或多个提交&#xff08;commit&#xff09;从一个分支应用到另一个分支上。这个命令特别适用于当你想要将某个分支上的改动单独应用到另一个分支上&#xff0c;而不是合并整个分支。 基本用法 git cherry-pick <commit-hash>…

【论文阅读笔记】TOOD: Task-aligned One-stage Object Detection

论文代码&#xff1a;https://github.com/fcjian/TOOD 文章目录 论文小结论文简介论文方法Task-aligned Head&#xff08;T-Head&#xff09;T-Head伪代码解释 Task Alignment Learning&#xff08;TAL&#xff09;Task-aligned Sample AssignmentTask-aligned Loss 论文实验消…

Redis 性能优化的高频面试题及答案

目录 高频面试题及答案1. 如何选择合适的数据结构以优化 Redis 性能?2. 如何配置 Redis 以优化内存使用?3. 如何使用管道(Pipeline)技术优化 Redis 性能?4. 如何通过数据持久化优化 Redis 性能?5. 如何使用 Redis 的集群模式优化性能?6. 如何通过合理的键命名策略优化 R…

如何只用 CSS 制作网格?

来源&#xff1a;how-to-make-a-grid-like-graph-paper-grid-with-just-css 在看 用于打印到纸张的 CSS 这篇文章时&#xff0c;对其中的网格比较好奇&#xff0c;作者提供了 stackoverflow 的链接&#xff0c;就看到了来源的这个问题和众多回复。本文从里面挑选了一些个人比较…