jmeter压力测试_用Jmeter实现对接口的压力测试

一、多个真实用户对接口的压力测试

1. 获取多个真实用户的token的两种方法:

1)第一种:让开发帮忙生成多个token(多个用户账户生成的token),导出为csv格式的文件(以下步骤均以该方法为基础)

be1a439119722eb2a77b6158462ce54c.png

2)第二种:自己设置多个用户账户和密码,并存储于txt文件中,文件名称叫:login.txt(使用详情见步骤三)

1f6d4799deec7eed395934aca32fb2ff.png

2. 新建线程组,并根据需求设置”线程数“和”时间“

2ea1c40a6c9d27db7a4dc7724fa9272f.png

3. 在线程组下创建HTTP Header Manager,并设置信息头中的参数和值

1)该信息头放在了线程组下面,所以是针对该线程组下所有的接口;

2)不是所有的请求都需要设置信息头。若后端需要一些验证信息,比如“app的版本号”,“token”等,需要HTTP Header Manager 来保证发送HTTP请求的正确,否则是不需要的。

3)接口发送请求时,需要获取登录接口返回的token值,用”${token}“引入该变量

4)token变量的值取自步骤1中的csv文件,如何设置,请看步骤4

354e5cc21bc6a99e0c469d1d9094f534.png

4. 在线程组下添加CSV数据文件设置

1)从本地添加带有token信息的csv文件、设置文件编码为”UTF-8“

2)变量名称设置为”token“,方便信息头调用

728b427ef51c2bbb142435af6474dae8.png

5. 添加http请求

1)设置协议、服务器名称、端口号、方法和路径(用charles等工具抓包即可得到接口信息)

901b2fc7abdf28f554c96a6ba87906d6.png

6. 添加查看结果树和汇总报告,运行后查看结果

14dff2a8db7f1d3b6e0fbc816d151521.png

二、模拟单个用户获取token并应用在其他接口

1. 在登录接口请求下添加"JSON Extractor",设置变量名、接口响应数据中字段名

ec5efd4cc8c3a9ad26b8b9645b40d759.png

2. 把步骤1中的变量名应用于其他需要该变量的接口中即可,比如图中的asset_main接口的headers中

2a47042a92cd082bba0e4aa85e48dfb1.png

3. 用Debug Sampler检查变量的值是否取到,在察看结果树中查看“登录”和“Debug Sampler”中的值

3caf99970a35b6a28fbb005f654a5542.png

三、模拟多个用户获取token并应用在其他接口

1. 创建login.txt文件,并在CSV Data Set Config中选择该文件所在路径

fc482638c02022c0891f495653419e90.png

2. 把登录接口中的用户账户和密码参数化,名称与CSV Data Set Config中保持一致

e82ea4a0d81fe274d25f7df120333648.png

3. 在其他接口中的应用和步骤二一样,用户账户和密码的调用是按照顺序从上到下,可以在“察看结果树”中查看多个登录接口的请求参数phone_number(对应变量account)和password

75c5b0528ed86351b8f3d459e636c0d9.png

四、绝对并发、多场景混合并发

1. 使用Synchronizing Timer(同步定时器)实现绝对并发

1)Number of Simulated Users to Group by(集合点数):集合到对应的用户量才发送请求,设置的值不能大于线程数

2)Timeout in milliseconds(等待超时时间,毫秒):在指定的毫秒时间内没有达到集合点数,将停止等待直接发送请求

04a3421cf763af254c84ea9268253ca0.png

3)未使用Synchronizing Timer实现的相对并发(10s运行500个进程),在“用表格察看结果”处察看接口请求开始时间。从图中可以看出,用户在某个时间段内的随机一个时间点去执行,属于相对并发。

b2c2be0df9c53c4dd02cfab814a40ec0.png

4)使用Synchronizing Timer实现的绝对并发(10s运行500个进程),在“用表格察看结果”处查看接口请求开始时间。从图中可以看出,集合到3个用户才发送请求,做到了绝对并发。

2b2e91d01212f85d257953ce795ed34d.png

2. 多场景混合并发测试:

1)在线程组下面(各个接口上面),添加多个吞吐量控制器(Throughput Controller)

3f844bfd224b21fd00f1ae528deedd81.png

2)设置总线程数为20,“get_current_price_01”接口的线程数占比为30%,“get_current_price_02”接口的线程数占比为70%

74bb95dc05af478aa9cf150a34c3c42f.png

3)运行后,查看“View Results Tree”和“汇总报告”。从“View Results Tree”可看出两个接口是混合并发的;从“汇总报告”可看出接口占比的分别为30%和70%

47a3eefbb8f6fdf00265b792b2a1b77f.png

e97fe720a339683ba79c6a50fc05a5e2.png

五、测试报告生成

命令:[jmeter.bat路径] -n -t 财富接口.jmx -l financial.csv -e -o financial

5a37a6c3720dc7032c941c4bd7d392f6.png

026967a35d2496c184d2062413d4074a.png

推荐阅读

  • 【JVM】类加载、连接和初始化过程

  • 2018全套学习视频资源已经整理好了!免费分享!

  • 【资源分享】Docker核心技术视频教程

  • 【资源分享】蚂蚁课堂2期无加密-Java视频教程

  • Java日志体系详细总结

  • 【资源分享】Spring Cloud微服务实战视频课程

  • 2020传智-黑马Python全系列课程

  • 详解BlockingQueue

  • Springmvc源码解析总结

  • 老男孩教育-Linux中高级运维-58期

10d4808686720db3806f84b8613e24e7.png

微信:YuanMing1510

本公众号会不定期给大家发福利,包括学习资源等,敬请期待吧!

推送内容如果现在工作用不上,可以先转发朋友圈或收藏,用的时候方便找。

另外欢迎关注公众号添加微信好友,互相学习交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员成长之路(转)

什么时候才能成为一个专业程序员呢?三年还是五年工作经验?其实不用的,你马上就可以了,我没有骗你,因为专业程序员与业余程序员的区别主要在于一种态度,如果缺乏这种态度,拥有十年工作经验也还是…

嵌入式开发——PWM高级定时器

学习目标 加强掌握PWM开发流程理解定时器与通道的关系掌握多通道配置策略掌握互补PWM配置策略掌握定时器查询方式掌握代码抽取优化策略掌握PWM调试方式学习内容 需求 点亮8个灯,采用pwm的方式。 定时器 通道 <

TensorFlow 基本操作

Tensorflow基本概念 图(Graph):图描述了计算的过程&#xff0c;TensorFlow使用图来表示计算任务。张量(Tensor):TensorFlow使用tensor表示数据。每个Tensor是一个类型化的多维数组。操作(op):图中的节点被称为op(opearation的缩写)&#xff0c;一个op获得/输入0个或多个Tensor…

TensorFlow 分布式

一、简介 使用单台机器或者单个GPU/CPU来进行模型训练&#xff0c;训练速度会受资源的影响&#xff0c;因为毕竟单个的设备的计算能力和存储能力具有一定的上限的&#xff0c;针对这个问题&#xff0c;TensorFlow支持分布式模型运算&#xff0c;支持多机器、多GPU、多CPU各种模…

第五周测试

---恢复内容开始--- 一 视频知识 1 linux系统下如何区分内核态与用户态 在内核态&#xff1a;cs:eip可以是任意的地址&#xff0c;4G的内存地址空间 在用户态&#xff1a;cs:eip只能访问0x00000000—0xbfffffff的地址空间 2 系统调用的三层皮&#xff1a;xyz、system_call和sys…

latex公式对齐_Word 写公式最方便的方法

自从用上了word 2016之后&#xff0c;发现他的公式编辑器真香!真香!!他有了latex的优雅&#xff0c;又有了Mathtype的可视化效果&#xff0c;甚至更好哈&#xff0c;当编辑大量公式时也不会因为插件问题卡掉当前的努力。学起来也不复杂&#xff0c;反正是word. 强烈推荐。我们最…

路要怎么走?关于程序员成长的一点思考

程序员的我们&#xff0c;是否想过今后的路该怎么走、如何发展、技术怎样提高?其实这也是我一直在思考的问题。下面就此问题&#xff0c;分享下我的看法。因为我阅历有限&#xff0c;有什么说的不对的&#xff0c;大家见谅&#xff0c;千万不要喷…… 一、程序员应该打好基础 …

TensorFlow 常见API

数据类型转换相关API Tensor Shape获取以及设置相关API Tensor合并、分割相关API Error相关类API 常量类型的Tensor对象相关API 序列和随机Tensor对象相关API Session相关API 逻辑运算符相关API 比较运算符相关API 调试相关API 图像处理-编码解码相关API 图像处理-调整大小相关…

8.2 命令历史

2019独角兽企业重金招聘Python工程师标准>>> 命令历史 history //查看之前的命令.bash_history //存放之前敲过的命令&#xff0c;在 /root/ 目录下最大1000条 //默认参数值是1000条变量HISTSIZE/etc/profile中修改 //在其中可编辑HISTSIZE参数HISTTIMEFORMAT"…

TensorFlow 实例一:线性回归模型

代码 # -- encoding:utf-8 -- """ Create by ibf on 2018/5/6 """import numpy as np import tensorflow as tf# 1. 构造一个数据 np.random.seed(28) N 100 x np.linspace(0, 6, N) np.random.normal(loc0.0, scale2, sizeN) y 14 * x - …

Dapper的基本使用

Dapper是.NET下一个micro的ORM&#xff0c;它和Entity Framework或Nhibnate不同&#xff0c;属于轻量级的&#xff0c;并且是半自动的。也就是说实体类都要自己写。它没有复杂的配置文件&#xff0c;一个单文件就可以了。给出官方地址。 http://code.google.com/p/dapper-dot-n…

易语言神经网络验证码识别_递归神经网络 GRU+CTC+CNN 教会验证码识别

利用 NLP 技术做简单数据可视化分析Chat 简介&#xff1a;用递归神经网络采用端到端识别图片文字&#xff0c;递归神经网络大家最早用 RNN &#xff0c;缺陷造成梯度消失问题&#xff1b;然后采用了 LSTM&#xff0c;解决 RNN 问题&#xff0c;并且大大提高准确率&#xff1b;现…

Android4.0蓝牙使能的详细解析

毫无疑问&#xff0c;bluetooth的打开是在Settings中进行的操作。因此&#xff0c;冤有头&#xff0c;债有主&#xff0c;我们来到了Settings.java中&#xff0c;果然发现了相关的代码如下&#xff1a; mBluetoothEnabler new BluetoothEnabler(context, new Switch(context));…

移动端导出excel_连载系列【4】Excel开发移动端quot;APPquot;

前三篇文章介绍了百度地图生成器、源代码编辑器、GPS经纬度批量转换工具、源代码编辑器中添加自定义功能按钮和地图控件。这些写好的Java Script代码虽然可以实现所有期望的结果&#xff0c;但毕竟不是一个HTML文件&#xff0c;不便于传播和使用&#xff0c;更无法变成一个类似…

《操作系统》OS学习(二):启动、中断、异常

Bootloader:加载OS。操作系统一开始是放在DISK&#xff08;硬盘&#xff09;中&#xff0c;并不是放在内存中。 BIOS&#xff1a;基本I/O处理系统。存放在ROMRead-Only Memory&#xff09;只读存储中 BIOS&#xff08;Basic Input/Output System&#xff09;基本输入输出系统。…

常用css属性集(持续更新…)

禁止换行&#xff0c;超出部分显示…&#xff1a;a. 代码&#xff1a;.hide_word{ max-width: 100px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } b. 效果&#xff1a; 本文转自 bilinyee博客&#xff0c;原文链接&#xff1a; http://blog.51cto.co…

parallels网络初始化失败_33 个神经网络「炼丹」技巧

自然语言处理Andrej Karpathy 是深度学习计算机视觉领域、与领域的研究员。博士期间师从李飞飞。在读博期间&#xff0c;两次在谷歌实习&#xff0c;研究在 Youtube 视频上的大规模特征学习&#xff0c;2015 年在 DeepMind 实习&#xff0c;研究深度强化学习。毕业后&#xff0…

《操作系统》OS学习(三):系统调用

例子 首先看一个标准C库的例子&#xff1a;当我们程序中使用了C库中的printf()函数&#xff0c;实际在底层是在内核态中调用了write()函数。图中右侧则是将程序代码与C库都算到应用程序中&#xff0c;内核提供了一个系统调用接口。 从这个例子我们可以得到以下几点&#xff1a…

JavaScript服务器端开发技术(对象属性的枚举与查询)

既然对象是属性的集合&#xff0c;那么检测与枚举集合中的属性就是一项重要任务。对此&#xff0c;我们来分别看一下ES3和ES5提供的解决方案。 1) ES3枚举方案 示例代码&#xff1a; var contacts{ ID:[0,1,2,3,4,5], names:["Zero","One","Two&q…

treelistview 所有节点失去焦点_垃圾询盘过滤,焦点科技的 Milvus 实践

文章作者&#xff1a;黎阳&#xff0c;焦点科技软件开发工程师李成龙&#xff0c;Zilliz 数据工程师Milvus (https://milvus.io/) 向量搜索引擎开源半年以来&#xff0c;全球已经有数百家企业或组织用户。焦点科技是一家以 B2B 外贸交易为主营业务的科技公司&#xff0c;也是 M…