赞
踩
目录
1.从官网下载安装包Apache JMeter - Download Apache JMeter编辑
要求jdk1.8以上
解压路径要无中文的,
我个人习惯是先在d盘建个文件夹,比如jmeter文件夹,然后再把不同版本的放进去
然后我们去配置一下环境变量 我这里演示的是win11
右键一下下方搜索框左边这个 找到设置
确定在系统这里,下滑到最下面
点击高级系统设置
点击环境变量
新增变量:JMETER_HOME 变量值就是我们的安装路径
然后点击确定,返回到变量界面
找到CLASSPATH点击,然后加入%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;(;是英文模式打出来的,不同的之间要;间隔)
确定之后,在系统变量中找PATH,双击进入
然后点击右边的新建
新建变量 输入 %JMETER_HOME%\bin;
可以把这个变量上移到最前面
win键+r 输入cmd
进入命令窗口输入jmeter
然后就得到
如果没有(提示jmeter非命令指令)可以先重启一下,
还没有反应就检查下刚才的操作,有没有多符号,是不是英文模式打的符号。jmeter的home路径有没有改成自己的。
提示的:
Don't use GUI mode for load testing !, only for Test creation and Test debugging. For load testing, use CLI Mode (was NON GUI): jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] & increase Java Heap to meet your test requirements: Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file Check : https://jmeter.apache.org/usermanual/best-practices.html
的意思是说
在进行负载测试时,我们建议使用 JMeter 的命令行模式(CLI模式)而不是图形化界面(GUI模式)。CLI模式适用于执行负载测试,而GUI模式适用于创建和调试测试计划。
以下是CLI模式的示例命令:
jmeter -n -t [测试计划文件.jmx] -l [结果文件.jtl] -e -o [报告输出文件夹路径]
您需要将命令中的 [测试计划文件.jmx]
替换为您的测试计划文件的路径和文件名,[结果文件.jtl]
替换为您希望保存测试结果的路径和文件名,[报告输出文件夹路径]
替换为您希望生成测试报告的文件夹路径。
另外,为了满足您的测试需求,建议您根据需要增加Java堆内存。您可以修改JMeter批处理文件中的HEAP环境变量来实现。只需将-Xms
和-Xmx
参数的值改大以增加堆内存大小。
如果您想了解更多关于JMeter的最佳实践,请查看提供的链接。
来到安装目录 D:\jmeter\apache-jmeter-5.6.2(我的),进入bin目录
找到 jmeter.properties
我是用vs code打开 然后搜索 language=en
在下一行增加个
language=zh_CN
保存然后win+r进入cmd,再次输入jmeter
然后就是中文的了。
(这个具体什么用我也不知道),idea插件商店搜索jmeter 就有 jmeter viewer
下载之后不用配置它(idea内置了环境)
然后你就可以把测试配置保存之后用idea打开了
我也不知道什么用,有人知道可以告诉我。
首先 我们 在一个spring boot 项目上测试,使用个过ApiPost的应该能够很快的上手
我们win键+r 输入 cmd 进入命令窗口 输入 jmeter (如果你环境变量实在没有配好,可以去安装目录的bin目录下打开,jmeter.bat 也可以启动,如果我环境变量配置哪里有问题可以评论提出)
用的是mybits plus自带的查询所有的方法
使用了ResponseResult实体类包装返回信息
然后启动项目
- @RestController
- @RequestMapping("food")
- public class FoodController {
-
-
- /**
- * 服务对象
- */
- @Resource
- private FoodService foodService;
-
-
- @GetMapping("all")
- public ResponseResult<List<Food>> selectAll(){
- List<Food> foods = foodService.list();
- return ResponseResult.ok(foods);
- }
-
- }
进入之后都会有这个界面
右键测试计划
第一个选项添加的右边找到线程(用户)
选择线程组
配置线程属性,
我是100 1 100 一共是100个用户,每个人100个请求
线程数就是模仿用户的数量
Ramp-Up 就是线程全部启动的时间, 就理解为用户大概多久会全部涌入
循环次数就是 每个线程会发送请求的次数 勾选永远就是一直发送请求 可以理解为用户秒杀商品的时候大概会刷新几下,有些人可能一直刷新
勾选 "Same user on each iteration" 的时候,每个线程才像用户 每个线程的每次操作的(循环时的每个操作)用户都是同一个
假设您有一个线程组,其中包含了5个线程(Thread1、Thread2、Thread3、Thread4、Thread5)。如果您勾选了 "Same user on each iteration",那么在每次循环中,Thread1 将始终使用用户A执行操作,Thread2 始终使用用户B执行操作,依此类推。
不勾选的话,就相当于有 线程数*循环次数 个用户 每个用户操作了一次 (但是不真实,这样做的话,哪有用户等别人操作完才去操作)
再右键我们配置好的线程组
找到http连接
首先是三个属性
协议我们是http,就填http 服务器名称 就看你是在本地还是服务器,在本地的话就是localhost,不是在本地就是填服务器公网ip 端口号可以看spring boot 启动之后显示的端口号
我们可以看到协议和端口号
我们填上
前面是请求取决于 @GetMapping("all")这里的注解
- @GetMapping("all")
- public ResponseResult<List<Food>> selectAll(){
- List<Food> foods = foodService.list();
- return ResponseResult.ok(foods);
- }
路径是
控制器路径(没有写就是光方法的路径)
加上方法的路径
我就是food/all(控制器没有写就是all)
启动之前要设置保存配置文件的地址,如果你改过桌面地址可能会出错,它默认指向c盘,桌面,文档文件夹。如果保存位置错误了,
这里在这里重新选择位置
我们如果在第四步下了可视化插件,可以将文件保存在项目的目录下,就可以在idea里方便查看了(还能做多少我就不清楚了)
点击绿色箭头
右上角的三角形点开可以看出现的异常,右边那个是 现有线程量/要创建的线程量
因为是简单的mysql查,所以并没有出现异常,我改成1000x1000之后风扇有点快了
以后还会用来测试redis。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。