网站首页 > 精选教程 正文
场景:
作为开发人员经常需要进行java接口的压测,比如商品抢购、并发量大的活动接口,需要模拟多用户进行并发压测,这个时候就需要使用到Apache的Jmeter压测工具了,本篇讲述的是使用Jmeter自定义变量模拟多用户压测,通俗点讲:就是把参数都放在一个文件中,Jmeter调用接口时动态的去读取,比如你压测某个接口,接口入参需要username、pricecode,将这些个参数都以下面的格式放在某个文件中,压测接口时让接口动态的读取:
17802115971_170921m80,1yuangou_h5
15927730423_150968z24,99yuanvip_pc
具体步骤
1、如果你还没有安装Jmeter,移步至http://jmeter.apache.org/download_jmeter.cgi下载对应的版本并安装
2、安装好后打开界面如下:
默认的语言是English,要是你不习惯,可往 Options 》Choose Languages 修改为中文,还有主题色,可往 Options 》Look and Feel选项进行修改;
3、选中Test plan右击 》添加 》Threads(Users) 》线程组:
4、选中线程组右击 》添加 》配置元件 》HTTP请求默认值:
这里配置HTTP请求默认值的目的就是为了方便,因为HTTP请求默认值是Test Plan下公用的,这样你就不用在HTTP请求项时一个个配置,注意此步骤不是必须的,你可以直接跳到步骤5;
5、选中线程组右击 》添加 》Sampler 》HTTP请求。
这里要注意:接口入参${username}里的username和第6步骤中username、以及和接口的入参http://localhost/common/checkjoin?username=××都是一致的。
6、选中线程组右击 》添加 》配置元件 》CSV数据文件设置:
这里的变量名称必须和步骤5设置的同请求一同发送的参数项要一致,且和你的controller中的参数名也要一致。
如果接口里包含多个,步骤六中配置的变量名称就得用你自己指定的符号分隔开(上图中的分隔符),要对应你的csv文件中每一列参数分隔符,且步骤五同请求一起发送的参数名字也要对应。
例如我的param.txt文件是这样子的:只有一列username的取值:
如果你的参数只有一个,但是也设置了逗号分隔之类的,也是可以的,不产生影响;
7、选中线程组右击 》添加 》监听器 》察看结果树:
察看结果树界面可以看到每个接口的请求、返回值之类的,类似于抓包后的数据。在监听器选项里还有其他很多选项可以查看到压测情况:
8、启动你的服务器,我是idea启动的本地服务,实际压测下:
9、要及时的保存测试计划Test Plan,不然关闭后下次进来就找不到了,同时,压测后可以右击查看结果树,清除上一次的测试接口。
猜你喜欢
- 2025-03-24 通过压测表格分析并发量、RT、QPS量化公式
- 2025-03-24 高并发性能工具详解(4大主流性能工具)
- 2025-03-24 技术要求太高?这个开源的全链路压测系统你值得拥有
- 2025-03-24 服务压测发现怪异现象,一顿排查,揪出“TIME_WAIT”这个内鬼
- 2025-03-24 1分钟学会linux下jmeter分布式压测流程
- 2025-03-24 压力测试-JMeter安装、入门、结果分析
- 2025-03-24 阿里性能专家全方位对比Jmeter和Locust,到底谁更香?
- 2025-03-24 使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
- 2025-03-24 性能测试利器-Locust框架解析(常用测试框架)
- 2025-03-24 发现一款后端程序员必备的压测工具,十分钟就能上手,yyds
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)