Jmeter--2小时搞定入门以及基本使用(含高并发测试,高频率测试)
创始人
2024-05-31 10:15:38
0

1 入门

1.1 JMeter简介

  1. 概念
  • 可以对服务器、网络或对象模拟巨大的负载
  • 通过创建带有断言的脚本来验证程序是否能够返回期望的结果
  1. 优点

  2. 缺点

  • 不支持IP欺骗
  • 无法前端的JS程序,无法验证UI界面,一般用来测试接口

1.2 JMeter安装

  1. 下载解压

  2. 设置中文乱码

去jmeter的properties中设置下
在这里插入图片描述

  1. 启动

bin下的bat文件启动

在这里插入图片描述

在这里插入图片描述

1.3 项目简介

  1. restful语法功能

在这里插入图片描述

1.4 环境搭建

JDK和Python

2 JMeter使用

2.1 基本使用

  1. 先保存

在这里插入图片描述

  1. 添加
  • 右击添加线程组

在这里插入图片描述

  • 添加取样器
    在这里插入图片描述
  1. 更名

名称可以随便改

在这里插入图片描述

  1. 填写

在这里插入图片描述

在这里插入图片描述

  1. 查看结果

在测试结果获取所有中右击添加监听器:查看结果树

在这里插入图片描述

  1. 执行

在这里插入图片描述

  1. 查看

换个形式看

在这里插入图片描述

在这里插入图片描述

2.2 线程组相关

  1. 概念

一个进程可以包含多个线程组,一个线程组可以包含多个线程

  1. 新建线程组

在这里插入图片描述

  1. 新建线程:http请求

在这里插入图片描述

  1. 再加一个:http请求

或者直接再点击线程组后,ctrl+c,ctrl+v

在这里插入图片描述

  1. 反复

再新建一个线程组,里面再加两个http请求

线程组也可以cv,不过也要点击进程那边再进行

成这样

在这里插入图片描述

2.3 并发执行和顺序执行

  1. 概念
  • 并发执行:多个线程同时执行
  • 顺序执行:多个线程顺序执行
  1. 新建线程组以及线程
  2. 新建查看结果树
  3. 运行
  • 不按照顺序,就是并发执行
    在这里插入图片描述

  • 顺序执行

在进程里面:独立运行每个线程组 打勾即可

在这里插入图片描述

再去运行就可以了

在这里插入图片描述

2.4 两个特殊线程组

  1. 分类
  • setUp线程组

最优先执行的线程组

类比军人

  • tearDown线程组

最后执行的线程组

类比难忘今宵

  1. 操作
  • 添加线程和线程组,以及察看结果树

    在这里插入图片描述

  • 执行

在这里插入图片描述

  • 三个线程组执行

注意结果顺序 1,3,2

在这里插入图片描述

2.5 线程组常用属性

  1. 总览
    在这里插入图片描述
  • 线程数:模拟用户数
  • ramp-up时间:程序准备时间
  • 循环次数:相当于线程数执行几遍,即每个用户请求几次

如果线程数为2,循环次数为3,那么察看结果树就会返回6个请求

在这里插入图片描述

如果循环次数选择永远,好家伙直接一直请求

  • 调度器配置

勾选调度器后,才可以进行持续时间和启动延迟的设置,如果持续时间选择2秒,就是只会勾选执行2秒钟

2.6 http请求默认值

  1. 设置
    在这里插入图片描述

在这里插入图片描述

  1. 如果多个
    在这里插入图片描述

出现的情况是:如果复制粘贴多个,那么设置都一个样子,浪费设置

  1. 简化

右击进程,选择http请求默认值

在这里插入图片描述

然后在里面设置重复的属性

在这里插入图片描述

然后其他的http就不用写这些了,复用的已经进行封装了

在这里插入图片描述

2.7 信息头管理器

  1. http设置
  • 基本设置

在这里插入图片描述

  • 消息体设置

在这里插入图片描述

但是报错,不知道你传入的是什么类型,所以要去设置HTTP信息头管理器

  1. HTTP信息头管理器添加位置
  • 右击进程添加

在这里插入图片描述

  • 添加json类型

在这里插入图片描述

  1. 重新执行

就能识别json了

在这里插入图片描述

2.8 参数化

  1. 场景

一个一个请求提交太慢了

2.8.1 用户定义变量

  1. 设置位置

在这里插入图片描述

在这里插入图片描述

  1. 设置变量对应内容

在这里插入图片描述

  1. 调用

返回http请求然后路径写${xx}变量即可
在这里插入图片描述

  1. 看下结果

在这里插入图片描述

在这里插入图片描述

2.8.2 CSV数据文件设置

  1. 作用

可是实现批量操作形式

  1. 步骤

在这里插入图片描述

  1. 前置设置

设置线程组以及HTTP请求(POST形式)以及察看结果树以及HTTP信息头管理器(为了识别json数据)

  1. 批量添加
  • 目的:把数据批量添加到数据库

  • 数据

在这里插入图片描述

  • 批量设置

在这里插入图片描述

在这里插入图片描述

  • 在线程组钟将循环次数设置为永远

因为可能不知道数据有几条,如果你知道有几条,那就写几

在这里插入图片描述

2.8.3 用户参数实现批量添加

  1. 总览

与csv方式的对比是不用csv文件也可以实现批量添加,一般工作用csv,这边用用户参数

  1. 设置
  • 添加用户参数

在这里插入图片描述

  • 用户参数内容

在这里插入图片描述

  • 线程组设置

设置3个用户试试看,循环次数不弄了
在这里插入图片描述

  • 传参json变量要进行替换

在这里插入图片描述

  1. 执行
    数据加进去了
    在这里插入图片描述

2.8.4 函数

  1. 计数函数count
  • 效果

请求的结果后面自带个数

  • 操作

在这里插入图片描述

拷贝走代码${_counter(true,)}

在这里插入图片描述

放到Http请求最后面

在这里插入图片描述

  • 执行

变成每个用户自己请求次数自己计算了,如果选flase就是1-6,不管哪一个用户

在这里插入图片描述

  1. 随机函数Random
  • 操作

把前面的禁用掉

在这里插入图片描述

一样的地方

在这里插入图片描述

设置random,1-3闭区间

在这里插入图片描述

  • 结果

在这里插入图片描述

  1. 时间函数time
  • 操作

当前时间戳

在这里插入图片描述

自己设置的格式

在这里插入图片描述

2.9 直连数据库

  1. 添加jar包

在这里插入图片描述

  1. 操作
  • 添加JDBC的Request

在这里插入图片描述

  • 添加数据库连接池

在这里插入图片描述

填入数据库的信息
在这里插入图片描述

  • 回到JDBC的Request写sql

在这里插入图片描述

  • 执行

按下绿色按钮

然后看下结果

在这里插入图片描述

  1. 结果在百度搜索
  • 增加一个返回的变量

在这里插入图片描述

  • select的结果

发现都加上了val前缀

在这里插入图片描述

  1. 请求百度

在这里插入图片描述

  1. 看下结果
  • 看下怎么请求的

在这里插入图片描述

  • 看下response的结果

在这里插入图片描述

2.10 断言

  1. 概念

让程序代替人工判断响应结果是否符合预期

在这里插入图片描述

  1. 响应断言
  • 添加

在这里插入图片描述

  • 断言设置

常用响应文本和响应代码,设置筛选老张

在这里插入图片描述

  • 结果

如果包含老张了,你执行的时候就不会报错

在这里插入图片描述

如果没有就报错,像这样

还有其他规则,相等就是要一模一样,一般常用相等和包含,否就是取非

甚至也可以测响应码

在这里插入图片描述

在这里插入图片描述

  1. 大小断言
  • 总览

在这里插入图片描述

  • 大小对应的就是

在这里插入图片描述

  • 响应代码

是大小,不是200的字符,所以写3个字符

在这里插入图片描述

  • 响应消息

对应message的ok

在这里插入图片描述

但是来这边只能写2字符表示ok

在这里插入图片描述

  1. 断言持续时间

表示是不是在5ms以内

在这里插入图片描述

3 性能测试

3.1 高并发

  1. 前置准备
  • HTTP请求

在这里插入图片描述

  1. 添加同步定时器

在这里插入图片描述

  1. 设置下线程组

模拟一百人

在这里插入图片描述

  1. 同步定时器设置
  • 设置用户组数量

如果一百人分两次访问服务器,这边就写五十,类比公交车上的位置够不够

在这里插入图片描述

  • 设置超时时间

不要写零,写零的话后面剩下的不够数量会出现超等

在这里插入图片描述

  1. 结果

不要用察看结果树了,用聚合报告,看平均值,异常情况,吞吐量

在这里插入图片描述

在这里插入图片描述

3.1 高频率

  1. 场景

在这里插入图片描述

QPS每秒钟二十次

  1. 添加请求/聚合报告

在这里插入图片描述

在这里插入图片描述

  1. 添加常数吞吐量定时器

在这里插入图片描述

在这里插入图片描述

  1. 线程组设置

二十x十五

在这里插入图片描述

  1. 执行

在这里插入图片描述

相关内容

热门资讯

安卓双系统添加应用,轻松实现多... 你有没有想过,你的安卓手机里可以同时运行两个系统呢?听起来是不是很酷?想象一边是熟悉的安卓系统,一边...
pipo安卓进系统慢,探究pi... 最近是不是发现你的Pipo安卓系统更新或者运行起来特别慢?别急,今天就来给你好好分析分析这个问题,让...
怎样使用安卓手机系统,安卓手机... 你有没有发现,安卓手机已经成为我们生活中不可或缺的一部分呢?从早晨闹钟响起,到晚上睡前刷剧,安卓手机...
双系统安卓安装caj,轻松实现... 你有没有想过,你的安卓手机里装上双系统,是不是就能同时享受安卓和Windows系统的乐趣呢?没错,这...
安卓使用ios系统教程,安卓用... 你是不是也和我一样,对安卓手机上的iOS系统充满了好奇?想要体验一下苹果的优雅和流畅?别急,今天我就...
安卓系统gps快速定位,畅享便... 你有没有遇到过这样的情况:手机里装了各种地图导航软件,但每次出门前都要等上好几分钟才能定位成功,急得...
安卓手机系统更新原理,原理与流... 你有没有发现,你的安卓手机最近是不是总在提醒你更新系统呢?别急,别急,让我来给你揭秘一下安卓手机系统...
安卓系统通知管理,全面解析与优... 你有没有发现,手机里的通知就像是一群调皮的小精灵,时不时地跳出来和你互动?没错,说的就是安卓系统的通...
安卓系统手机哪买,揭秘哪里购买... 你有没有想过,拥有一部安卓系统手机是多么酷的事情呢?想象你可以自由安装各种应用,不受限制地探索各种功...
安卓系统 ipv4,基于安卓系... 你知道吗?在智能手机的世界里,有一个系统可是无人不知、无人不晓,那就是安卓系统。而在这个庞大的安卓家...
目前安卓是什么系统,探索安卓系... 亲爱的读者,你是否曾好奇过,如今安卓系统究竟是什么模样?在这个科技飞速发展的时代,操作系统如同人体的...
安卓6.0系统比5.0,从5.... 你有没有发现,自从手机更新了安卓6.0系统,感觉整个人都清爽了不少呢?没错,今天咱们就来聊聊这个话题...
安卓2.36系统升级,功能革新... 你知道吗?最近安卓系统又来了一次大变身,那就是安卓2.36系统升级!这可不是一个小打小闹的更新,而是...
安卓系统源码怎么打开,并可能需... 你有没有想过,安卓系统的源码就像是一扇神秘的门,隐藏着无数的技术秘密?想要打开这扇门,你得掌握一些小...
安卓8.0系统体验视频,智能革... 你有没有听说安卓8.0系统最近可是火得一塌糊涂啊!作为一个紧跟科技潮流的数码达人,我当然要来给你好好...
宣传系统漫画app安卓,探索安... 亲爱的读者们,你是否曾在某个午后,百无聊赖地打开手机,想要寻找一些轻松愉悦的读物?今天,我要给你介绍...
鸿蒙替换安卓系统吗,开启智能生... 你知道吗?最近科技圈里可是炸开了锅,因为华为的新操作系统鸿蒙系统,据说要大举进军手机市场,替换掉安卓...
手机安卓系统深度清理,解锁手机... 手机里的东西是不是越来越多,感觉就像一个装满了杂物的储物柜?别急,今天就来教你一招——手机安卓系统深...
安卓上的windows系统,融... 你有没有想过,在安卓手机上也能体验到Windows系统的魅力呢?没错,这就是今天我要跟你分享的神奇故...
安卓系统焦点变化事件,Andr... 你知道吗?在安卓系统的世界里,最近发生了一件超级有趣的事情——焦点变化事件。这可不是什么小打小闹,它...