JMETER并发压测-自定义不同请求参数
背景
虽然可以请求相同的接口做测试,但是请求参数每次都是相同的。为了模拟不同的用户,请求不同的参数,所以要自定义参数来做多线程并发压力测试。
点赞再看,关注公众号:【地藏思维】给大家分享互联网场景设计与架构设计方案
掘金:地藏Kelvin https://juejin.im/user/5d67da8d6fb9a06aff5e85f7
下载Jmeter
https://jmeter.apache.org/download_jmeter.cgi
上官网,找最新的版本,找到zip格式的压缩文件,便于在windows下解压。
解压后,找到bin目录下的jmeter.bat文件,则会启动Jmeter
1. 更改语言
点击菜单栏-option-language-Chinese,则能显示中文
2. 创建线程组
只要新建一个jmx工程,都会默认有test plan测试计划,对“测试计划”右键-线程-线程组。
这样就能创建多线程并发的测试
设置并发的线程数
3. 添加变量
对着线程组右键-添加-配置元件-CSV数据文件设置。大家注意了,配置不同的参数来请求接口就是靠这里设置的。
编辑一个csv文件,这里一行数据中,每个数据用逗号隔开,表示第一、第二个...变量。每行的第一个就是第一种变量,每行第二个是第二种变量。后续将会配置映射关系。
点击CSV数据文件设置-浏览-选择文件所在位置。
在变量名称栏填写变量名字,记得按顺序填写,如:id,name。则id将会对应刚才csv文件的每行第一个,name就对应csv中每行的第二个,如此类推。
3. 创建Http接口
对着线程组右键-添加-取样器-HTTP请求,则能创建一个http形式的测试
填写ip地址、端口号、请求方法、具体的uri、下发可以填写form形式提交的参数或者body形式的参数。
在下面这个页面里面,只要用${}这样的形式,就会被你csv中的文件取缔,如${id},就会每次请求使用csv中一行的数据来代替${id}。
如:我这里的url全路径是 localhost:7902/userbyMergeWithFuture/${id}
后续就能看到结果请求了5次为:
localhost:7902/userbyMergeWithFuture/1
localhost:7902/userbyMergeWithFuture/2
localhost:7902/userbyMergeWithFuture/3
4. 创建察看结果树
对着HTTP请求 -右键-监听器-察看结果树,则能点击绿色的箭头按钮后,查看每次线程组下的所有线程的请求。
5. 执行结果
完成每次请求都不同的参数的并发线程压测。
欢迎关注公众号,文章更快一步
我的公众号 :地藏思维
掘金:地藏Kelvin
简书:地藏Kelvin
我的Gitee: 地藏Kelvin https://gitee.com/kelvin-cai
JMETER并发压测-自定义不同请求参数的更多相关文章
- linux下实现压测-html报表生成-控制台参数优化【jmeter】
jmeter - 单机压测 - 命令行模式-html报表生成-控制台参数优化 一/ 准备工作 1.压力机安装并配置好 jdk 2.调试好程序脚本 再上传到 linux下 3.进入jmeter bin ...
- Jmeter压测学习6---登录参数CSV
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况.如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可 ...
- JMeter分布式压测实战(2020年清明假期学习笔记)
一.常用压力测试工具对比 简介:目前用的常用测试工具对比 1.loadrunner 性能稳定,压测结果及颗粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多. 2.Apache ab(单接口 ...
- Jmeter让压测随时做起来(转载)
为什么要压测 这个问题问的其实挺没有必要的,做开发的同学应该都很清楚,压测的必要性,压力测试主要目的就是让我们在上线前能够了解到我们系统的承载能力,和当前.未来系统压力的提升情况,能够评估出当前系统的 ...
- Jmeter阶梯式压测
https://www.cnblogs.com/Zfc-Cjk/p/11639219.html 什么是阶梯式压测? 阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值, ...
- lesson5:利用jmeter来压测消息队列(activemq)
本文讲述了利用jmeter来压测消息队列,其中消息队列采用apache的activemq,jmeter本身是支持符合jms标准消息队列的压测,由于jmeter的官方sampler配置比较复杂,本文直接 ...
- lesson4:利用jmeter来压测数据库
本文讲述了如何利用jmeter来压测数据库,事例中选取了mysql作为测试数据库,其它的数据库也是一样,只需要更换驱动程序即可. 准备工作:a.mysql数据库安装,请自行百度:b.jdbc驱动包,请 ...
- jmeter简单压测设置
参数化 随机参数 时间参数 顺序自增函数 文件读取 直接引用 响应断言 用来查看sessionid 关联 关联引用 jmeter操作数据库 安装连接程序包 ip 端口号 哪个数据库 可以执行多条s ...
- Jmeter接口压测小思路
1.压力接口测试分2种:一种是单场景,压一个接口:第二种是混合场景,多个有关联的接口.压测时间,一般场景都运行10-15分钟.如果是疲劳测试,可以压一天或一周,根据实际情况定. 2.压测前要明确压测功 ...
随机推荐
- Swift Expressible literal
Swift Expressible Literal 引子 从一个面试题说起.有如下代码: struct Book { let name: String } let book: Book = " ...
- JacaScript实现call apply bind函数
一.call函数 模拟实现第一步:整体思路 Function.prototype.call2=function(context){ context.fn=this; //1.将函数(谁调用 即this ...
- SpringBoot(19)---SpringBoot整合Apollo
SpringBoot(19)---SpringBoot整合Apollo 有关Apollo之前已经写了两篇文章: 1.[Apollo](1)--- Apollo入门介绍篇 2.[Apollo](2)-- ...
- 使用Arcgis时,在sde空间库常用的相关函数
一.Oracle库中配置好sde空间库常见的场景 1.在sde库中创建表:community 创建表:community 字段:id(INTEGER), shape(ST_GEOMETRY) 2.往s ...
- 23种设计模式 - 对象性能(Singleton - Flyweight享元)
其他设计模式 23种设计模式(C++) 每一种都有对应理解的相关代码示例 → Git原码 ⌨ 对象性能 面向对象很好地解决了"抽象"的问题,但是必不可免地付出一定的代价.对于通常情 ...
- 要不是真的喜欢学技术,谁会来用Python爬小姐姐啊
养成习惯,先赞后看!!!不用于任何商业价值,只是自己娱乐.否则 爬虫爬的好,牢饭吃到饱.这是我们这次爬取的网址:https://www.vmgirls.com/ 很多人学习python,不知道从何学起 ...
- Tesselation学习
Tesselation的作用:给低片面数模型镶嵌更多片面,让低模变高模. 和法线贴图不同,法线本质是通过改变低模表面的颜色来模拟高模,比如在一个片面上普通diffuse是均匀的颜色分布(因为光照颜色一 ...
- 使用easyexcel时遇到Could not initialize class net.sf.cglib.beans.BeanMap$Generator
可以访问 这里 查看更多关于大数据平台建设的原创文章. 上一篇文章 Maven项目为什么会产生NoClassDefFoundError的jar包冲突 结合了大量的图解,详细介绍了Maven项目产生ja ...
- 一个后端开发的 Vue 笔记【入门级】
一 前言 最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的 ...
- 09 promise then
then() 方法返回一个 Promise 链式调用:then里面回调函数(成功回调和失败回调),凡事这两个回调函数里面抛出错误或者返回一个已经是拒绝状态的 Promise. 那么 then 返回的 ...