Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用JMeter如何实现并发压测下的只登录一次

使用JMeter如何实现并发压测下的只登录一次

作者头像
jmeter技术研究
发布于 2020-02-11 08:43:41
发布于 2020-02-11 08:43:41
3.1K00
代码可运行
举报
运行总次数:0
代码可运行

机会只留给那些有准备的人

改变能改变的,接受不能改变的,就是进步

  • 性能测试过程中经常有需要对案例进行大并发压测,但是只需要登录一次即可,jmeter自带了仅一次控制器,但此控制器只是针对单线程才有意义,多线程下,设置多少线程数还是会执行多少次
  • 1000并发用户下,系统还是会执行1000次登录,有10次登录失败,就会影响实际压测案例的结果,本文就介绍如何使用全局变量实现真正意义上的只执行一次登录

一、请求分析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. 本次需要对系统的一个查询操作做性能测试,首先使用谷歌浏览器登录系统,按F12进入调试页面,然后访问查询页面,下图为查询接口地址
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2. 下图为该接口的信息头,由图可知,需要先登录获取Cookie,并且在查询请求信息头申明该Cookie即可实现查询操作

二、脚本开发

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. 本次需要先开发好登录脚本,由下图可知,MOD_AUTH_CAS变量会在登录1请求中的子请求(重定向)返回
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2. 只需要在该请求下添加一个正则表达式提取器即可,如下图所示
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3. MOD_AUTH_CAS变量提取成功,我们只需要在该请求后面使用beanshell申明该变量为全局变量即可,这样其它线程也能调用该变量
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
4. 在查询线程组下,申明信息头,并且定义cookie字段,值使用MOD_AUTH_CAS=${__P(Th_MOD_AUTH_CAS,)}进行调用,如下图所示

三、多线程验证

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. 首先设置线程组为2线程2循环,看是否能正常执行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2. 设置测试计划,测试计划勾选独立运行每个线程组,并且把登录线程组放置在最前面,这样系统就会先执行登录,在执行其它线程组
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3. 执行脚本,如下图所示,系统只登录了一次,正常进行了4次查询,4次查询是2线程执行了2次循环
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
4. 本文介绍了登录使用Cookie鉴权如何实现一次登录,多并发下执行压测,如果系统调用了token,规则一样,只需要把token全局化即可实现

如果文章对你有帮助,可以扫描下面的二维码进行关注,欢迎转发、本人会不定期发表和测试相关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制,有纰漏的也请大家纠正

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jmeter相关技术交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Jmeter对WebSocket协议进行压测
目前市面上的协议种类繁多,我们可以通过Jmeter添加插件实现脚本编写,这里以WebSocket协议的业务压测为例来说明。
谭银
2021/10/19
9.8K0
JMeter100个线程竟然只模拟出1个并发
线程组,是说到 JMeter 会第一时间想到的东西,也是我认为 JMeter 最难理解的知识点。因为项目让你做个压测,首先就是要考虑并发,用 JMeter 就是用多线程 来模拟多并发。但在看到线程组编辑区的时候,选项密密麻麻,无从下手呀。本篇文章就给大家介绍 JMeter 线程组的玩法。
dongfanger
2020/11/12
2.3K0
JMeter100个线程竟然只模拟出1个并发
jmeter使用个人总结(很细很全)
Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。
魔都虫师
2020/05/21
5.2K0
jmeter使用个人总结(很细很全)
手把手教你配置和使用3款压测工具 —— 没压测过,面试都说出来系统数据!
本文的宗旨在于通过简单干净实践的方式教会读者,如何使用JMeter进行工程的压测测试。也同时会介绍到;ApacheBench、Siege 两个更简单压测工具的使用。
小傅哥
2023/10/25
4.3K0
手把手教你配置和使用3款压测工具 —— 没压测过,面试都说出来系统数据!
Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)
  上一篇中宏哥已经将其的理论知识介绍了一下,这一篇宏哥就带着大家一步一步的把上一篇介绍的理论知识实践一下,然后再说一下如何创建高级web测试计划。
北京-宏哥
2020/06/02
3.8K0
Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)
如何正确使用JMeter性能测试?紧扣面试实际要求
前段时间专门挑了一段时间在准备面试。经过两次面试后,有一些比较深刻的认识。对于企业要求来说,除了对专业理论知识考究之外,对测试工具这块也是看重的。
憨憨默默成神
2021/10/12
1.7K0
如何正确使用JMeter性能测试?紧扣面试实际要求
jmeter并发接口测试教程_jmeter高并发测试
3.添加配置元件-CSV 数据文件设置,将测试数据存在csv文件中,配置路径和需要读取的参数
全栈程序员站长
2022/11/11
3.6K0
搭建 Apache Jmeter 分布式压测与监控,真那么难搞定?|实战干货
对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题;如果当前架构快达到性能瓶颈了,是横向扩容性能提升大,还是纵向扩容性能提升大。
民工哥
2020/09/15
1.1K0
搭建 Apache Jmeter 分布式压测与监控,真那么难搞定?|实战干货
JMeter执行性能测试如何快速确定拐点
1. 首先给大家介绍如何开发高效执行的性能测试脚本,目前多数用户都是分不同并发用户单次执行,该方法执行效率低,并且不方便数据比对,如下
jmeter技术研究
2019/10/30
3.2K0
JMeter执行性能测试如何快速确定拐点
Jmeter压测工具入门篇
背景:本文档主要内容是jmeter脚本入门配置以及调试方法,借助已有的jmeter脚本模板,快速理解并写出一个成功的jmeter脚本用例。
魏景维
2021/12/10
3.3K1
Jmeter(三) - 从入门到精通 - 测试计划(Test Plan)的元件(详解教程)
上一篇中宏哥已经教你如何通过JMeter来创建一个测试计划(Test Plan),那么这一篇我们就将JMeter启动起来,创建一个测试计划(Test plan),然后宏哥给大家介绍一下测试计划(Test Plan)有哪些元件组成的。
北京-宏哥
2020/05/26
8.5K0
压测工具Jmeter的安装与使用
Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。
微客鸟窝
2023/01/09
1.9K0
压测工具Jmeter的安装与使用
Jmeter接口压测快速入门
通过以上给出的地址将Jmeter下载好后,进入到Jmeter的bin目录下,启动脚本放在这个目录,其中windows双击jmeter.bat即可,Mac和Linux下则是使用如下命令运行:
端碗吹水
2020/09/23
3.6K0
Jmeter接口压测快速入门
apache-jmeter-3.3的简单压力测试使用方法
Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。
Java编程指南
2019/08/02
1.2K0
apache-jmeter-3.3的简单压力测试使用方法
Jmeter使用JDBC对数据库压测
压测除了全链路压测外,有时候也需要对指定服务进行性能测试,这里以jmeter工具对数据库进行压测说明。
谭银
2021/10/21
3.1K0
Jmeter使用JDBC对数据库压测
玩转Jmeter进行性能测试
时逢6.18钉钉应用大促,为避免高负载下钉钉微应用的稳定性问题,遂赶工赶时完成钉钉方要求的稳定性压测,以此为楔,深探Jmeter,事后总结,是以成文。不愿窃为私有,分享给诸位QA同学,以期遇坑绕之,少些弯路。
晴空SunnySky
2023/09/26
3.2K0
Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)
之前分享的所有文章都是只有一个线程组,而且参数的传递也只在一个线程组中,那么如果需要在两个线程组中传递参数,我们怎么做呢?宏哥今天就给小伙伴或者童鞋们讲解一下,如何实现在线程组之间传递参数。
北京-宏哥
2021/06/17
3.1K0
Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)
Jmeter压测快速体验
前言 最近在看neo4j相关的官网文档以及一些调优参数,同时也学了下Jmeter,为了测试下neo4j服务的性能,虽然不是专业搞测试的,但是我觉得每个优秀的开发者都应该学会主动压测自己服务和代码的性能,并非写完代码之后直接扔给测试就完事了,兵法云:知彼知己,才能百胜不殆嘛。 jmeter是什么 jmeter是一款开源的测试工具,源码100%基于Java并开源,最初的设计目的是用来测试Web应用的,由于其非常轻量级和免费,后来又扩展到其他测试领域。 jmeter的一些特点: 1.能够对HTTP,FTP,TCP
我是攻城师
2018/05/14
1.7K0
10分钟快速上手JMeter
Apache JMeter™应用开源软件,100%纯Java应用程序,设计用于负载功能测试和性能测试。所以压测环境安装JDK,能够让JMeter程序运行起来。官网下载、安装、配置环境变量、通过下面命令判断是否安装成功(具体安装不再赘述)。
测试工程师
2022/06/15
6530
10分钟快速上手JMeter
JMeter是如何运行施压的
https://jmeter.apache.org/download_jmeter.cgi
dongfanger
2022/05/09
5530
JMeter是如何运行施压的
推荐阅读
相关推荐
Jmeter对WebSocket协议进行压测
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验