使用jmeter进行api接口压力测试

article/2025/11/7 10:58:06

前言

压力测试的工具挺多的,但看了其他人的文章介绍,还是选了jmeter,开源、免费啊,

下载

下载地址:
https://jmeter.apache.org/download_jmeter.cgi

环境配置

下载后解压zip到任意目录,然后配置环境变量
变量名JMETER_HOME,变量值F:\apache-jmeter-4.0
在变量名CLASSPATH新增

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;
%JMETER_HOME%\lib\jorphan.jar;
%JMETER_HOME%\lib\logkit-2.0.jar;

在Path新增

%JMETER_HOME%/bin 

启动

然后启动cmd,输入F:\apache-jmeter-4.0\bin\jmeter.bat
这里写图片描述
启动后:
这里写图片描述
jmeter的主界面如下:
这里写图片描述
更改语言版本为中文
这里写图片描述

所需的api参数

我们现在准备对以太坊的jsonrpcapi接口进行测试
地址是:
http://192.168.10.131:8545
http请求头部配置:
Content-Type:application/json
请求内容:

{"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x331f75",true]
}

创建测试用例

创建线程组

在测试计划中右键弹出菜单,添加-》Threads(Users)-》线程组
这里写图片描述

线程组的参数配置
这里写图片描述

线程属性中,Ramp-Up Period(in seconds),间隔多长时间启动1个线程,直到创建100个线程,如果为0的话,则在开始测试后立刻创建100个线程
可以选中“调度器”,设置需要持续测试的时间,

设置http请求头部

在通常编写的api中,是需要配置http请求头部的,在jmeter中也由相关的设置,
在线程组单击右键出现菜单栏,添加-》配置元件-》HTTP信息头管理器
这里写图片描述
添加api中需要的头部配置信息
这里写图片描述

设置http请求默认值

http请求默认值的设置,可以设置请求的服务器,其他环境下的http请求只需添加对应的子路径即可完成测试,
方便测试环境与生产环境之间的切换
这里写图片描述
一般设置好服务器地址即可
这里写图片描述

设置http请求

右键点击“线程组”,出现菜单,添加-》Sampler-》HTTP请求

这里写图片描述
HTTP请求的路径,本次测试并未填写,可根据实际情况添加
在BodyData,中填入需要请求的参数,这里以太坊的jsonrpc-api,需要请求的参数是json格式的,

{"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["0x331f75",true]
}

这里写图片描述

为http请求添加查看结果树

右键点击“http请求”(就是之前添加的http请求项),添加-》监听器-》查看结果树
可在此页面中查看每次的api请求过程以及结果,方便后期分析
这里写图片描述

为http请求添加Summary Report

右键点击“http请求”,添加-》监听器->Summary Report
可在此页面中查看报告
这里写图片描述

开始测试

右键点击”线程组“,start
这里写图片描述
测试完成之后,可以查看每个api请求过程及结果
这里写图片描述
以及综合报告
这里写图片描述
综合报告各个参数指标说明

Label:取样器/监听器名称

Samples :事务数量

Average:平均一个完成一个事务消耗的时间(平均响应时间)

Min:最小响应时间

Max:最大响应时间

以上单位都是ms

Std.Dev:偏离量,越小表示越稳定

Error %:错误事务率

Throughtput:每秒事务数,即tps

KB/sec:网络吞吐量


http://chatgpt.dhexx.cn/article/kGXdahdt.shtml

相关文章

Postman接口与压力测试实例

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。它提供功能强大的 Web API & HTTP 请求调试。 1、环境变量和全局变量设置 环境变量可以使用在以下地方: URLURL paramsHeader valuesform-data/url-encoded valuesRaw body contentHelper fi…

jmeter TCP接口压力测试

启动jmeter,添加线程组、TCP取样器、察看结果树 1.添加线程组 2.添加TCP取样器 3.添加监听器察看结果树 配置TCP取样器参数信息 1.TCPClient classname:报文格式,分3种: org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl&#x…

JMeter对接口进行压力测试

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FT…

如何使用Jmeter对HTTP接口进行压力测试?

我们不应该仅仅局限于某一种工具,性能测试能使用的工具非常多,选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验,也算略有小成,任何性能测试(如压力测试、负载测试、疲劳强度测试等&#…

全网最新最全的jmeter接口测试,压力测试

目录 一.前言 二.接口测试 2.1Jmeter-http接口脚本 2.2Jmeter-webservice接口脚本 三.压力测试 3.1压测任务需求的确认 3.2压测设置 3.3压测结果查看 3.4压测结果的分析 3.5jmeter在linux下进行压力测试 ​ 一.前言 jmeter是apache公司基于java开发的一款开源压力测…

【Jmeter基础篇】03:如何进行post接口压力测试

目前网络上有很多很多Jmeter的压力测试使用指南,但是在实际使用过程中,很多朋友会遇到许多并不处于理想状态的情况,比如某些参数不知道应该往哪里放,具体怎么分析测试结果等等。 所谓压力测试,实质就是让n多个用户在同…

Jmeter怎么做接口测试/性能测试/压力测试(步骤)

目录 JMeter接⼝测试流程详解 1、Jmeter简介 2、Jmeter安装 3、设置Jmeter语⾔为中⽂环境 4、Jmeter主要元件 5、Jmeter元件的作⽤域和执⾏顺序 6、Jmeter进⾏接⼝测试流程 7、Jmeter进⾏接⼝测试流程步骤详解 8、总结 JMeter性能测试的步骤? 第一步&…

性能测试-项目实战-接口全流程压测

目录 1、前言 1.1、项目背景 1.2、场景执行步骤 2、司机长链接 2.1、司机出车环境 2.2、主要用到的包 2.3、脚本解析 3、全流程压测脚本 3.1、司乘数据准备 3.2、全链路压测脚本 4、资源监控与收集 4.1、聚合报告 4.2、自研脚本 1、前言 1.1、项目背景 在车辆与…

浅谈接口压测

一.背景 saas版在经过项目组全体成员的不断努力,最终实现了第一版的上线,为了验证sass系统可以支持多少用户同时在线访问,产生了sass版的接口压测。 二.压测是什么为什么要做压测 压测一般指性能压力测试,通过压测可以了解系统…

数据库select语句详解

SELECT 1.基本语法 select * from 表名 查询这张表所有内容。select 列名 from 表名 查询这张表某一列所有内容。select 列名1,列名2…from 表名 查询这张表的列1,列2,等多列。select distinct 列名 from 表名 查询这一列去掉重复内容后的内…

SQLite基本语句

SQLite基本语句 一: 1.SQLite数据库是一种嵌入式数据库,它的数据就是一个scores.db 2.经常被集成到各种应用程序中,甚至ios、Android、Mac OS、Linux 3.Python中内置了SQLite数据库,直接使用 4.数据库:关系型数据库&a…

Mysql数据库基本sql语句

文章目录 1 常用的数据类型2 查看数据库2.1 查看当前服务器中的数据库2.2 查看数据库中的表2.3 查看表的结构(字段) 3 SQL语句3.1 SQL语句分类3.2 创建及删除数据库和表3.2.1 创建新的数据库3.2.2 创建新的表3.2.3 删除指定的数据表3.2.4 删除指定的数据…

数据库的基本语句

这里写目录标题 mysql基本语句表的定义SQL语句分类 mysql基本语句 1.进入数据库 mysql -uroot -p 2.退出数据库 exit; 3.查看有哪些数据库 show databases; 4.创建新的数据库 create database 英文名字; 5.使用数据库 use 名字 6.查看表 show tables; 7.查看数据库版本 select…

Mysql基本语句

1、数据库的基本类型 1.关系数据库 特点:以表和表的关联构成的数据结构 优点:能表达复杂的数据关系。强大的查询语言,能精确查找想要的数据 缺点:读写性能比较差,尤其是海量数据的读写。数据结构比较死板 用途&am…

数据库常用语句汇总

数据库常用语句 一、对数据库的操作1. 用SQL语句创建数据库2.用SQL语句修改数据库3.用SQL语句删除数据库 二、对数据表的操作1.创建数据表定义数据表的约束NULL/NOT NULLUNIQUE约束(唯一约束)PRIMARY KET 主键约束外键约束CHECK 约束 2.修改数据表3.删除…

Mysql数据库基础语句

目录 一,常用的数据类型 二,数据库管理 1,Mysql基础语句操作 1.1,更改密码,登录数据库 1,2查看数据库结构 1.3:查看表结构 2, DDL语句:定义数据中的操作 2.1 创建数据库和表—create 2.2删…

MySql数据库基本语句

绝大多数都是记忆练习的东西 理解的偏少 一,DML语句之Delete(删除) 格式:delete from 表单名; 其后可以增加where条件限制,order by排序,limit限制 例如:delete from employee where name=‘ls’; 删除表中名字为李四的记录。 还有一个删除是truncate 格式:Truncate …

数据库基本语句

用DOS命令窗口操作数据库 启动数据库:mysql -u用户名 -p密码 当出现这个窗口意味着启动成功! DDL语句 数据库操作语句 查询当前所有数据库名称:show databases;创建数据库:create database 数据库名;如…

数据库常用操作语句总结

数据库常用操作语句总结 一、基础1.select 语句2.select distinct 语句3.where 子句4.and 和 or 运算符5.order by 语句6.insert into 语句7.update 语句8.delete 语句 二、高级1.top 子句2.like 操作符3.SQL 通配符4.in 操作符5.between 操作符6.as 别名7.join 表关联8.sql un…

java 数据结构--堆

1.堆的基本定义 二叉树的两种结构,一种是链式结构,一种就是顺序结构,普通二叉树其实是不适合用数组来存储数据,因为会造成大量空间的浪费,但完全二叉树似乎更合适于顺序结构存储,我们通常把堆(完全二叉树) 使用顺序数组来存储。 堆: (1&…