使用Jmeter做性能测试
使用Jmeter工具做性能测试
JMeter执行原理
JMerer通过线程组来驱动多个(也可以理解为LR⼯具⾥⾯的虚拟⽤户)运⾏测试脚本对⽬标服务器发起⼤量的⽹络请求,在每个客户端上可以运⾏多个线程组,也就是说⼀个测试计划⾥⾯可以包含N个线程组。
线程数
⼀个线程可以理解为对应模拟⼀个⽤户,所以线程数越多,那么也就认为可以模拟的⽤户数越多。
Ramp-Up时间(秒)
该属性指的是所有线程从启动到开始运⾏的时间间隔,单位是秒,也就是说所有线程在多⻓时间内开始执⾏,如线 程数设置50,设置的时间为5秒,那么计算的公式为:
每秒执⾏线程数=线程数/Ramp-Up
具体如: 如设置的线程数为50,Ramp-up的时间为10,那么也就是说开启执⾏后,每秒会启动5个线程,如果Ramp-Up设置为0,那么开始执⾏后,50个线程会⽴刻启动。
首先在性能测试下添加一个HTTP请求(对百度发送请求),填写百度地址(有多少个线程数就发送多少个请求)
1.在线程组下添加一个监听器下的查看结果树
查看结果是在监听器中,它的组件具体如下:
a.查看结果树:查看发送网络请求后返回的信息
b.响应时间图:发送N次请求过程中响应时间的趋势图
c.聚合报告:里面可以看到吞吐量,最小响应时间,最大响应时间,平均响应时间 ,中位数,90,95,99
在查看结果树当中点击开始按钮,点击任意一个请求查看响应数据,再将text更改成Browser或HTML,就可以看见百度的首页。
调度器:
持续时间:指的是所有的任务执行完成后,任务再接着执行N秒,目的是验证被测服务的稳定性
例如以下访问百度,100个用户理想效果是10秒执行完,但由于网络等情况实际上10秒内没有执行完,那么我们给它持续上30秒,可以看到右上角实际执行完的时间是12秒。
5.添加PerfMon插件:
1、我们在性能测试的过程中,需要收集被测目标服务器的终端的系统资源
A、在目标服务器部署serveragent(功能就是收集数据)
B、在JMeter连接serveragent,把收集的数据展示出来
没有PerfMon插件需要在选项中安装插件,再添加
往jmeter里安装插件的插件
将jmeter-plugins-perfmon-2.1.jar插件放到lib,ext目录下
安装插件
1、
2、
ServeAgent的下载和使用
通过ServeAgent收集系统资源的数据,一般是放在被测的目标服务器上,例如我们现在测的是百度,将它放在百度的服务器上不现实,所以放在本地
下载ServeAgent并解压,我存放在D:\testDev\ServerAgent-2.2.1目录下,点击startAgent.bat启动
发送请求之后打开PerfMon就可以看见监听到的数据(CPU和内存、磁盘、网络等)
Grafana地址:http://47.95.142.233:3000/d/Z6Jz03i7k/apache-jmeter-dashboard?orgId=1&refresh=5s
输入账户和密码登录,在Jmeter中将端口地址修改,将application name 修改为自己的名字,再打开Grafana,在application处选择自己的名字就可以看见自己的数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix