jmeter并发接口测试教程_jmeter高并发测试

jmeter并发接口测试教程_jmeter高并发测试jmeter并发测试实例,测试项目结构图如下:1.新建测试计划,选中测试计划,右键,添加线程组2.添加配置元件-用户定义的变量,用来放置ip和端口参数3.添加配置元件-CSV数据文件设置,将测试数据存在csv文件中,配置路径和需要读取的参数并发测试是模拟多个用户同一时间进行同一个操作,所以需要创建真实的用户数据,这里的真实不是指用户数据的真实性(比如手机号和身份证真实…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

jmeter并发测试实例,测试项目结构图如下:

jmeter并发接口测试教程_jmeter高并发测试

1.新建测试计划,选中测试计划,右键,添加线程组

2.添加配置元件-用户定义的变量,用来放置ip和端口参数

jmeter并发接口测试教程_jmeter高并发测试

3.添加配置元件-CSV 数据文件设置,将测试数据存在csv文件中,配置路径和需要读取的参数

jmeter并发接口测试教程_jmeter高并发测试

并发测试是模拟多个用户同一时间进行同一个操作,所以需要创建真实的用户数据,这里的真实不是指用户数据的真实性(比如手机号和身份证真实存在),而是指用户数据不能重复(比如手机号等信息的唯一性),很多人有这样的误解,以为用jmeter或lr做并发测试时,工具可以模拟500,1000个用户,所以自己不需要准备用户数据。

但是要知道一个用户只能生成一个token,比如对一个登陆接口做并发测试,如果只用1个用户,设置500个线程,实现的只是1个用户先后调了500次登陆接口而已,并没有实现500个用户在某时某刻同时调登陆接口。

所以对于测试数据的准备我们还是不能偷懒,然而实际情况中,我们的数据库中并没有那么多可用的数据,难道真的需要去找100或者1000个人去使用我们的系统,当然不需要,我们可以通过在数据库批量插入数据的方法来获得测试数据,具体需要造哪些数据,就要根据需要测试的功能点进行具体分析。

在此案例中,我想测试对上传图片接口的500人并发测试,要实现该需求,首先我需要500个不同的token,因为token需要从登陆接口获得,而登陆接口的入参为手机号,和用户id,所以我需要500个手机号码和id。因此最终我只需要在对应的数据库表中批量造500个手机号码和id,保证这些数据可以用过登陆接口成功获取到token即可。

关于数据库批量造数据,具体可查看《mysql使用函数批量插入数据》

数据造好后复制到1.txt文件中,参数中间用逗号隔开,然后另存为1.csv文件。

再按上图配置好csv数据文件设置,注意画红色方框项,其他项默认设置。

4.添加-sampler-Http请求,按下图填写,该页面主要包含ip,端口和请求入参(form格式),上传图片接口同样配置。

jmeter并发接口测试教程_jmeter高并发测试

5.选择该http请求,右键,添加-配置元件-HTTP信息头管理器,用来存放接口的header参数,上传文件接口头文件包含token,则设置为变量${token}

jmeter并发接口测试教程_jmeter高并发测试

6.添加-断言-响应断言,用来判断接口是否执行成功,如登录接口,判断响应文本中包括token则表明执行成功。

jmeter并发接口测试教程_jmeter高并发测试

7.添加-后置处理器-jp@gc – JSON Path Extractor,用来获取token

jmeter并发接口测试教程_jmeter高并发测试

8.添加-监听器-断言结果,用来保存日志

jmeter并发接口测试教程_jmeter高并发测试

9.添加-定时器-Synchronizing Timer,用来设置集合点,即多个线程在同一时刻并发请求。默认都为0.(并发测试的关键点)

jmeter并发接口测试教程_jmeter高并发测试

Number of Simulated Users to Groupby:每次释放的线程数量。如果设置为0,等同于设置为线程组中的线程数量。

Timeout in milliseconds:如果设置为0,Timer将会等待线程数达到了”Number of Simultaneous Users toGroup”中设置的值才释放。如果大于0,那么如果超过Timeout inmilliseconds中设置的最大等待时间(毫秒为单位)后还没达到”Number of Simultaneous Users toGroup”中设置的值,Timer将不再等待,释放已到达的线程。默认为0

本案例中主要是测试上传照片的并发测试,所以登录接口中的集合点为禁用。

10.选中线程组,添加-监听器,根据自己的喜好选择报告的展示方式,如察看结果树,聚合报告,用表格察看结果

先在线程组中设置线程数(即并发数)为50

jmeter并发接口测试教程_jmeter高并发测试

点击运行,查看结果

jmeter并发接口测试教程_jmeter高并发测试

主要关注指标,Samples:请求数,Average:平均响应时间,Error%:错误率,Throughput:吞吐量

为了验证是否实现了并发测试,可查看每次请求的时间,登录接口未设置集合点,请求时间是有变化的

jmeter并发接口测试教程_jmeter高并发测试

而上传图片接口设置了集合点,所有请求的时间时分秒均相同。

jmeter并发接口测试教程_jmeter高并发测试

11.并发测试的目的是为了测试服务器对于压力的性能影响,所以还需要监控服务器的各项性能指标,一种方法是直接在服务器上查看,比如linux服务器,使用free -m指令等查看内存等数据。还有一种方式是在jmeter中添加对服务器的监控,这个下次再接着写。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187428.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 东软始业教育内容提纲(2020)(后附题目)

    东软始业教育内容提纲(2020)(后附题目)东软始业教育内容提纲(后附题目)——2012年8月修正版写在前面:至各位兄弟姐妹,希望大家都能顺利通过!有些题目略微有些变动,总体内容不变。后面的题目绝大多数都在列了,剩余的注意搜索关键字,在前面提纲部分一定有!在百度上搜索一次只能搜索三页,建议大家先下载下来,准备好再开始考试,这样可以全篇搜索。40分的极致不是我的追求,38分这个绝对可以有!1)

    2022年5月10日
    47
  • django-redis_文件缓存和redis缓存的区别

    django-redis_文件缓存和redis缓存的区别前言动态网站的基本权衡是,它们是动态的。每次用户请求页面时,Web服务器都会进行各种计算-从数据库查询到模板呈现再到业务逻辑-以创建站点访问者看到的页面。从处理开销的角度来看,这比标准的文件

    2022年7月29日
    14
  • tar压缩文件

    tar压缩文件tar压缩的优点:兼容性好使用tar压缩文件tar-zcvftest.tar.gz./test/该命令表示压缩当前文件夹下的文件夹test,压缩后缀名为test.tar.gz如果不需要压缩成gz,只需要后缀为tar格式的,那么输入如下命令:tar-cvftest.tar./test/使用tar解压文件tar-xzvftest.tar.gz该命令表示把后缀为.tar.gz的文件解压到当前文件夹下。如果压缩文件的后缀是.tar,没有gz,则使用命令:tar-xvf

    2022年5月26日
    63
  • 西班牙c2语言是什么标准,西班牙语的等级是怎么划分的?

    西班牙c2语言是什么标准,西班牙语的等级是怎么划分的?西班牙语根据欧洲共同语言参考标准分为:A1,A2,B1,B2,C1,C2六个级别。A1,A2为基础入门级别,B1,B2为高级进阶级别,C1,C2为流利进阶级别。《欧洲语言学习统一标准》(Cadreeuropéencommunderéférencepourleslangues),简称”欧标”。是欧洲议会在2001年11月通过的一套建议标准,为欧洲语言在评量架构和教学指…

    2022年5月22日
    51
  • pytest运行_怎么清理ios文件app的缓存

    pytest运行_怎么清理ios文件app的缓存前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年8月6日
    8
  • J2ME开发站点资源「建议收藏」

    J2ME开发站点资源「建议收藏」英文站点,英文好的开发者应该收藏的站点。SUNJ2MEWebSite:http://java.sun.com/j2me/诺基亚开发论坛:http://discussion.forum.nokia.com/forum/IBMalphaworks:http://alphaworks.ibm.com/wirelessIBM新兴技术资源网站,这里有各种最新的技术,当然也有非常丰富的J2ME开发资

    2022年7月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号