JMeter压测入门初步学习(四)

文章目录

  • 前言
  • 正文
    • 下载与安装
    • 初步压测
    • 设置变量
  • 总结

前言

最近在学习重温一门高并发课程之际又把Jmter的基础了解和学习了一遍,这里进行一个基础的认知与记录(下载版本为当前最新版本,没有汉化,不过基础的单词我相信难不倒大家)
来看一下系列目录:

章节名称 博客地址
安装部署Redis 集成Redis(已完结)
页面登陆功能设计 登录功能设计(更新优化中)
秒杀页面具体设计 秒杀详情页(已完结)
JMeter初级压测学习 Jmeter压测入门学习(已完结)
页面优化设计 页面优化设计(已完结)
接口优化 RabbbitMq接口优化(已完结)
图形验证码等 图形验证码及接口防刷(更新优化中)

正文

下载与安装

首先登录官网JMetre官网,隶属于apache。
JMeter压测入门初步学习(四)_第1张图片
然后点击左侧的下载按钮:
JMeter压测入门初步学习(四)_第2张图片
选择适合自己电脑的版本,这里我选择了zip到本地进行解压缩。
tgz是对应linux下。zip对应windows。
JMeter压测入门初步学习(四)_第3张图片
这里我放在D盘下面(注意路径不要出现中文)进入到如图所示的bin目录下,双击运行jmeter.bat,若是不成功,右键管理员方式进行运行。
JMeter压测入门初步学习(四)_第4张图片
成功以后会出现如下图所示情况:
JMeter压测入门初步学习(四)_第5张图片

初步压测

  1. 右击Test Plan(注意点击黑色方框内的内容)表示添加一个线程组。
    JMeter压测入门初步学习(四)_第6张图片
  2. NOT: 表示线程的个数,也就是你进行压测时候并发是多少
    RP: 表示启动的时间,若是1,表示你的线程启动时间是1s,一般我们设置为0,表示线程同时启动。
    LC:表示循环的次数。循环访问多少次。
    JMeter压测入门初步学习(四)_第7张图片
  3. 添加请求默认值,这里我对自己本地的请求地址进行压测goods/to_list可能以后都还是会请求同一个主机的相同地址,所以先进行一个http请求默认值的设置。进行如下配置,以后http请求就不需要重复填写主机和端口号。
    JMeter压测入门初步学习(四)_第8张图片
    JMeter压测入门初步学习(四)_第9张图片
  4. 添加测试用例
    JMeter压测入门初步学习(四)_第10张图片
    如图所示我们在日后的添加中也不用添加上面的请求信息。
    JMeter压测入门初步学习(四)_第11张图片
  5. 进行压测监听
    JMeter压测入门初步学习(四)_第12张图片
  6. 进行小型测试,这里我们调大线程数目和循环次数。调整线程数1000,循环次数10次。可以看到qps为116,表示这个接口可以承担的访问量为116次/秒。
    在这里插入图片描述
    以下是图形分析景象(这里我也看不是很明白,才疏学浅):
    JMeter压测入门初步学习(四)_第13张图片

设置变量

以上我们分析了普通的压测就是不设置任何的变量,对接口进行压测处置,下面我们进行比较处置,看设置变量后会有什么变化。

  1. 首先对于本代码来说前面有提到,将token会带回来放到cookie中,所以这里可以添加参数进行一个压测处置(PS 对于上一篇提到这里的token的博客跳转链接讲的感觉不是很好,后期会出一篇文章具体讲解一下)。
  2. 如何带参数压测:
    JMeter压测入门初步学习(四)_第14张图片
  3. 查看结果
    Emmm 差距有点大,感觉是对于第一个接口,访问数据库+redis缓存,对于第二个接口,没有访问MySqL本地数据库,才会导致差距如此大(当然这都不是大家关注的地方。)
    在这里插入图片描述
  4. 添加多个用户访问。
    对于本次压测来说,这里模拟的却只是一个token(表示一个用户)那在我们日常的压测中如何模拟多个用户呢?

JMeter压测入门初步学习(四)_第15张图片
如图所示,我们将所要模拟的数据写到配置文件中,用我们设定的分割符号分割,就能在配置文件中写上我们要参与模拟的用户来达到多用户的压测。
JMeter压测入门初步学习(四)_第16张图片
如下是配置文件中的内容。
JMeter压测入门初步学习(四)_第17张图片

完成以后,在对应的value地方就不用写上所有的值,只需要写上变量名字即可。
JMeter压测入门初步学习(四)_第18张图片

总结

以上就是利用jmeter进行简单的压测测试,限于本人在此项目中学习到的,日后会继续深入了解学习一下,到时再出具体的文章进行讲解与介绍。

你可能感兴趣的:(软件开发,多线程/高并发)