当前位置:   article > 正文

安装jmeter-5.6.2并用于测试数据库的压力_apache-jmeter-5.6.2

apache-jmeter-5.6.2

目录

一、安装jmeter

1.从官网下载安装包Apache JMeter - Download Apache JMeter​编辑

2、解压jmeter

3、配置环境变量 

4、jmeter设置成中文的

Ⅰ.菜单栏修改语言

Ⅱ.修改配置来达到永久设置

5、在idea加一个jmeter插件

二、测试我们的数据库

1.启动jmeter窗口   

2.准备好对应的接口

3.新建测试线程组

4.新建http连接

5.启动


一、安装jmeter

1.从官网下载安装包
Apache JMeter - Download Apache JMeter

要求jdk1.8以上 


2、解压jmeter


解压路径要无中文的,
我个人习惯是先在d盘建个文件夹,比如jmeter文件夹,然后再把不同版本的放进去

 


3、配置环境变量 


然后我们去配置一下环境变量  我这里演示的是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的最佳实践,请查看提供的链接。

4、jmeter设置成中文的



Ⅰ.菜单栏修改语言

Ⅱ.修改配置来达到永久设置

来到安装目录 D:\jmeter\apache-jmeter-5.6.2(我的),进入bin目录
找到 jmeter.properties
我是用vs code打开 然后搜索 language=en

 在下一行增加个

 language=zh_CN

 保存然后win+r进入cmd,再次输入jmeter

然后就是中文的了。 


5、在idea加一个jmeter插件

(这个具体什么用我也不知道),idea插件商店搜索jmeter 就有 jmeter viewer
下载之后不用配置它(idea内置了环境)

 然后你就可以把测试配置保存之后用idea打开了

 我也不知道什么用,有人知道可以告诉我。

二、测试我们的数据库


首先 我们 在一个spring boot 项目上测试,使用个过ApiPost的应该能够很快的上手

 

1.启动jmeter窗口   



我们win键+r 输入 cmd 进入命令窗口 输入 jmeter (如果你环境变量实在没有配好,可以去安装目录的bin目录下打开,jmeter.bat 也可以启动,如果我环境变量配置哪里有问题可以评论提出)


2.准备好对应的接口

用的是mybits plus自带的查询所有的方法
使用了ResponseResult实体类包装返回信息
然后启动项目

  1. @RestController
  2. @RequestMapping("food")
  3. public class FoodController {
  4. /**
  5. * 服务对象
  6. */
  7. @Resource
  8. private FoodService foodService;
  9. @GetMapping("all")
  10. public ResponseResult<List<Food>> selectAll(){
  11. List<Food> foods = foodService.list();
  12. return ResponseResult.ok(foods);
  13. }
  14. }

3.新建测试线程组
 

 进入之后都会有这个界面
右键测试计划

 第一个选项添加的右边找到线程(用户)

选择线程组

 

 配置线程属性,

 我是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执行操作,依此类推。

不勾选的话,就相当于有    线程数*循环次数   个用户  每个用户操作了一次  (但是不真实,这样做的话,哪有用户等别人操作完才去操作)

4.新建http连接


再右键我们配置好的线程组

找到http连接

 首先是三个属性

 协议我们是http,就填http 服务器名称 就看你是在本地还是服务器,在本地的话就是localhost,不是在本地就是填服务器公网ip  端口号可以看spring boot 启动之后显示的端口号

 我们可以看到协议和端口号
我们填上

 

 前面是请求取决于 @GetMapping("all")这里的注解

  1. @GetMapping("all")
  2. public ResponseResult<List<Food>> selectAll(){
  3. List<Food> foods = foodService.list();
  4. return ResponseResult.ok(foods);
  5. }

路径是

 控制器路径(没有写就是光方法的路径)

加上方法的路径 

我就是food/all(控制器没有写就是all)



5.启动
 

启动之前要设置保存配置文件的地址,如果你改过桌面地址可能会出错,它默认指向c盘,桌面,文档文件夹。如果保存位置错误了,

这里在这里重新选择位置 

我们如果在第四步下了可视化插件,可以将文件保存在项目的目录下,就可以在idea里方便查看了(还能做多少我就不清楚了)
点击绿色箭头

 

 右上角的三角形点开可以看出现的异常,右边那个是 现有线程量/要创建的线程量

因为是简单的mysql查,所以并没有出现异常,我改成1000x1000之后风扇有点快了
 

以后还会用来测试redis。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/255029
推荐阅读
相关标签
  

闽ICP备14008679号