Jmeter 对http接口压测

Jmeter相对于Loadrunner来说,更轻,易于安装,如果对过程数据收集不多、测试场景不复杂的情况下,可以优先考虑。

Jemeter进行HTTP接口压力测试的具体使用步骤:

1、首先添加一线程组(即用户组:一个线程模拟一个用户行为,如果要模拟多个用户,则通过设置多线程来实现)

图片

2、因为是对HTTP接口进行压力测试,所以需要在线程组下添加一HTTP请求(通过鼠标右键->添加->Sampler->HTTP请求 完成)

图片

3、紧接着就是对HTTP请求进行设置了,主要设置服务器名称或IP,端口号,连接、响应时间,所采用的协议,请求类型,内容编码,路径,最后设置请求内容。

注意:路径为URL除去如

http://XXX.XX.X后的内容,如URL为http://www.xxxx.com/index.php,则服务器名称或IP应该填写www.xxxx.com,端口默认80,路径应该填写“/index.php”

图片

4、因为这里的请求内容使用的是json字符串,所以需要在头部进行声明,否则请求就要报错。所以需要给HTTP请求添加一信息头(通过鼠标右键->添加->配置元件->HTTP信息头管理器 完成)

图片

5、配置HTTP头信息,添加对应名称和值,这里添加“Content-Type”,值为“application/json;charset=utf-8”;如果头还需要添加其它信息,如id、token等,也应如此进行配置

图片

6、到这一步看起来就可以了,但是我们执行时并不能看到执行结果。所以还应该为该请求添加一结果监听器“查看结果树”(通过鼠标右键->添加->监听器->查看结果树 完成)

图片

按照上面步骤,可以依次添加“聚合报告”(总体线程执行结果统计),图形结果(总体线程执行结果统计图),“用表格察看结果”(每个线程执行的表格统计情况)等。

如果在进行非接口测试,如页面测试过程中发现错误,可能是少了COOKIE信息,所以可以为线程组添加一个Cookie头,可以通过鼠标右键->配置元件->HTTP Cookie管理器 完成

7、如果HTTP请求没有问题,那么我们要进行性能测试,那就需要设置一个断言(即Loadrunner中的检查点),即只要检查到指定的返回值(如返回结果包含字符“success”)则说明执行成功。添加断言通过右键请求->添加->断言->响应断言 完成。

图片

设置响应断言:

到了这里,我们的脚本工作完成的差不多了,但是我们做性能测试,为了使测试结果更加准确,同时避免单点限制等原因,还应该对请求的值进行参数化。

8、参数化,这里主要将通过CSV文件进行的参数化。

1)首先我们新建一个CSV文件,然后录入我们要参数化的信息。

我们也可以新建一个记事本,然后输入参数化的内容信息,多个参数值间以英文逗号隔开,回车换行如:

Username1,password1

Username2,password2

点击保存,然后把记事本的文件名改为test.csv,注意这里的csv是文件扩展名。

2)在HTTP请求新建一个CSV Data Set Config元件(通过鼠标右键->添加->配置元件->CSV Data Set Config 完成)

3)配置CSV Data Set Config元件,这里主要需要指明参数化取值文件路径(即前面我们新建的CSV文件),参数名(如上面CSV文件中主要有两个参数值,我们可以分别用username和passwd作为参数名,参数名类似程序中定义的变量名)

4)对要参数化的值进行参数化。即用 ${参数名} 来替换要参数化的值。

图片

9、通过上面步骤,就完成了参数化脚本的设置。现在要执行,那么首先来配置线程组,主要包括线程数,启用时间,循环次数。我们可以尝试设置不同的线程数,重复次数,来进行接口的压力测试了。

图片

10、最后我们就可以点击上面的绿色执行按钮来执行测试了。当然在执行过程中,为了后面更好的分析测试,可以借助其它工具(linux如nmon)对服务器的资源使用情况、网络情况,以及程序运行情况进行结果收集,最后对压力瓶颈进行准确的定位。

图片

学习资料/接口/项目等免费领取:

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

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

相关文章

腾讯云4核16G12M服务器优惠价格32元1个月、96元3个月、156元6个月、312元一年

腾讯云4核16G12M服务器优惠价格32元1个月、96元3个月、156元6个月、312元一年 一张表看懂腾讯云服务器租用优惠价格表,一目了然,腾讯云服务器分为轻量应用服务器和云服务器CVM,CPU内存配置从2核2G、2核4G、4核8G、8核16G、4核16G、8核32G、1…

MySQL 篇-深入了解多表设计、多表查询

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 多表设计概述 1.1 多表设计 - 一对多 1.2 多表设计 - 一对一 1.3 多表设计 - 多对多 2.0 多表查询概述 2.1 多表查询 - 内连接 2.2 多表查询 - 外连接 2.3 多表查…

Go 简单设计和实现可扩展、高性能的泛型本地缓存

相信大家对于缓存这个词都不陌生,但凡追求高性能的业务场景,一般都会使用缓存,它可以提高数据的检索速度,减少数据库的压力。缓存大体分为两类:本地缓存和分布式缓存(如 Redis)。本地缓存适用于…

【小智好书分享• 第二期】《低代码平台开发实践:基于React》

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&am…

磁性机器人在医学领域取得进展

磁性医疗机器人利用磁场梯度来控制设备的运动,并最终以高精度进入体内的目标组织。这些磁性机器人可以采用导管和微型或纳米机器人的形式,并由磁导航系统操纵。磁性机器人最近取得了一些进展,为临床诊断和治疗用途开辟了新的可能性。在本期的…

【二叉树的最近公共祖先】【后序遍历】Leetcode 236. 二叉树的最近公共祖先

【二叉树的最近公共祖先】【后序遍历】Leetcode 236. 二叉树的最近公共祖先 解法1 涉及到结果向上返回就要用后序遍历解法2 自己写的方法 后序遍历 ---------------🎈🎈236. 二叉树的最近公共祖先 题目链接🎈🎈-----------------…

CMake-深入理解find_package()的用法

前言: CMake给我们提供了find_package()命令用来查找依赖包,理想情况下,一句find_package()命令就能把一整个依赖包的头文件包含路径、库路径、库名字、版本号等情况都获取到,后续只管用就好了。但实际使用过程可能会出现这样那样…

SpringBoot集成flink

Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。 最大亮点是流处理,最适合的应用场景是低时延的数据处理。 场景:高并发pipeline处理数据,时延毫秒级,且兼具…

鸿蒙NEXT开发实战:【视频文件裁剪】

使用OpenHarmony系统提供的ffmpeg三方库的能力在系统中实现了音视频文件裁剪的功能,并通过NAPI提供给上层应用调用。 基础信息 视频文件裁剪 简介 在OpenHarmony系统整个框架中有很多子系统,其中多媒体子系统是OpenHarmony比较重要的一个子系统&#…

Spring基础——方法注入(Method Injection)

目录 查找方法注入(Lookup Method)查找方法注入基于XML的方法注入基于注解的方法注入 Arbitrary Method Replacement(任意方法替换) 文章所用项目源码参考:java_spring_learn_repo 查找方法注入(Lookup Met…

解决微信好友添加频繁问题

今天我们来聊一聊微信好友添加频繁的问题。在日常使用中,有时候我们会遇到一些添加好友受限的情况,那么究竟是什么原因导致了这一问题呢?接下来,让我们逐一来看一看。 1. 添加好友的频率太高 首先,如果我们在短时间内…

.NetCore6.0实现ActionFilter过滤器记录接口请求日志

文章目录 目的实现案例:一.首先我们新建一个WebApi项目二.配置 appsettings.json 文件,配置日志存放路径三.创建 Model 文件夹,创建AppConfig类和ErrorLog类1.在AppConfig类中编写一个GetConfigInfo方法获取配置文件中的值2.在ErrorLog类中&a…

供应josef约瑟DL-24C电流继电器 额定电流3A 整定范围0.5-2A 电气控制必备元件

电流继电器是一种特殊的电子控制器件,具有控制系统和被控制系统,它使用较小的电流去控制较大的电流,起到自动开关的作用。以下是电流继电器的特征: 承载大电流:电流继电器可以承载大电流,通常能够承受数十…

SpringBoot集成Docker

Docker是一个开源的应用容器引擎&#xff0c;它允许开发者将应用及其依赖打包到一个可移植的容器中。 一、依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://ww…

大语言模型(LLM):每个专业人士的完美助手

「大语言模型&#xff08;LLM&#xff09;革命」&#xff1a;ChatGPT如何引领工作效率新篇章 在不断发展的技术领域&#xff0c;像 ChatGPT 这样的大型语言模型 (LLM) 已成为各行业专业人士不可或缺的工具。 这篇博文探讨了大语言模型&#xff08;LLM&#xff09;在专业环境中的…

GDPU Java 天码行空2

实验2 类与封装性 文章目录 实验2 类与封装性&#xff08;一&#xff09;实验目的&#xff08;二&#xff09;实验内容和步骤&#xff08;1&#xff09;建立学生类和测试类。学生类中有成员变量&#xff1a;姓名&#xff0c;年龄&#xff1b;成员方法&#xff1a;学习&#xff…

程序逻辑控制

1.java的三大结构 可以说java的这三大结构包括其中的语句跟c语言上的基本上都是一样的。现在就当重新复习一遍吧&#xff01; 1.顺序结构 2.分支结构 if语句 跟c语言的语法一模一样。就直接看文案了。 switch语句 java中的switch语句跟c语言中的switch几乎相同&#xff0c;…

AtCoder Beginner Contest 343 A~F

A.Wrong Answer&#xff08;模拟&#xff09; 题意&#xff1a; 给你两个整数 A A A和 B B B&#xff0c;它们介于 0 0 0和 9 9 9之间。 输出任何一个介于 0 0 0和 9 9 9之间且不等于 A B AB AB的整数。 分析&#xff1a; 按题意判断并输出一个整数即可。 代码&#xff…

qnx display

05-SA8155 QNX Display框架及代码分析(1)_openwfd-CSDN博客 backlight p: 0 t: 0 00000 SHD -----ONLINE----- 2024/03/06 13:49:22.046 backlight p:1060958 t: 1 00000 ERR backlight_be[backlight_be.c:284]: pthread_create enter 2024/03/06 13…

python基础练习题目

1. 根据身高体重&#xff0c;判断人的胖瘦 描述&#xff1a; 通过身高和体重&#xff0c;判断一个人的胖瘦。国际上一般采用BMI体重指数&#xff0c;计算公式为BMI 体重 / 身高2(保留小数点后1位)&#xff0c;参考标准如下&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪…