Jmeter接口压力测试
Posted samgxw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter接口压力测试相关的知识,希望对你有一定的参考价值。
前言
压力测试的工具挺多的,但看了其他人的文章介绍,还是选了jmeter,开源、免费啊,
下载
下载地址:
https://jmeter.apache.org/download_jmeter.cgi
https://jmeter.apache.org/download_jmeter.cgi
环境配置
下载后解压zip到任意目录,然后配置环境变量
变量名JMETER_HOME,变量值F:\\apache-jmeter-4.0
在变量名CLASSPATH新增
变量名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;123
%JMETER_HOME%\\lib\\jorphan.jar;
%JMETER_HOME%\\lib\\logkit-2.0.jar;123
在Path新增
%JMETER_HOME%/bin 1
启动
然后启动cmd,输入F:\\apache-jmeter-4.0\\bin\\jmeter.bat
启动后:
![技术图片](https://image.cha138.com/20210714/0f4ffa94be2b4abb8de9ef19af766467.jpg)
启动后:
![技术图片](https://image.cha138.com/20210714/aa42de1f6603447b879a21158486a8d8.jpg)
jmeter的主界面如下:
![技术图片](https://image.cha138.com/20210714/1d0aa206c92d4ab2abd48499f888a570.jpg)
更改语言版本为中文
![技术图片](https://image.cha138.com/20210714/207ec8540b2e418c920ffa880762ea9b.jpg)
所需的api参数
我们现在准备对以太坊的jsonrpcapi接口进行测试
地址是:
http://192.168.10.131:8545
http请求头部配置:
Content-Type:application/json
请求内容:
地址是:
http://192.168.10.131:8545
http请求头部配置:
Content-Type:application/json
请求内容:
"jsonrpc":"2.0",
"id":1,
"method":"eth_getBlockByNumber",
"params":["0x331f75",true]
创建测试用例
创建线程组
在测试计划中右键弹出菜单,添加-》Threads(Users)-》线程组
![技术图片](https://image.cha138.com/20210714/c4b4743bfdc64ae2a29280d0a07ca61c.jpg)
线程组的参数配置
![技术图片](https://image.cha138.com/20210714/c16074c6ca6f407d8a89ad077538c913.jpg)
线程属性中,Ramp-Up Period(in seconds),间隔多长时间启动1个线程,直到创建100个线程,如果为0的话,则在开始测试后立刻创建100个线程
可以选中“调度器”,设置需要持续测试的时间,
设置http请求头部
在通常编写的api中,是需要配置http请求头部的,在jmeter中也由相关的设置,
在线程组单击右键出现菜单栏,添加-》配置元件-》HTTP信息头管理器
在线程组单击右键出现菜单栏,添加-》配置元件-》HTTP信息头管理器
![技术图片](https://image.cha138.com/20210714/dc714a8aac4a415b8b207f50f1432f58.jpg)
添加api中需要的头部配置信息
![技术图片](https://image.cha138.com/20210714/d5520479431148c786956c208ca151bc.jpg)
设置http请求默认值
http请求默认值的设置,可以设置请求的服务器,其他环境下的http请求只需添加对应的子路径即可完成测试,
方便测试环境与生产环境之间的切换
方便测试环境与生产环境之间的切换
![技术图片](https://image.cha138.com/20210714/a6b3d545359e4cad8eaa7413a1213d7d.jpg)
一般设置好服务器地址即可
![技术图片](https://image.cha138.com/20210714/04fee806c7334bb0b884ed1f3006219b.jpg)
设置http请求
右键点击“线程组”,出现菜单,添加-》Sampler-》HTTP请求
![技术图片](https://image.cha138.com/20210714/2d75ece773954c5ab58fb70ffa952506.jpg)
HTTP请求的路径,本次测试并未填写,可根据实际情况添加
在BodyData,中填入需要请求的参数,这里以太坊的jsonrpc-api,需要请求的参数是json格式的,
"jsonrpc":"2.0",
"id":1,
"method":"eth_getBlockByNumber",
"params":["0x331f75",true]
![技术图片](https://image.cha138.com/20210714/fb28fac0339b4c3bb27e69e6a914a529.jpg)
为http请求添加查看结果树
右键点击“http请求”(就是之前添加的http请求项),添加-》监听器-》查看结果树
可在此页面中查看每次的api请求过程以及结果,方便后期分析
可在此页面中查看每次的api请求过程以及结果,方便后期分析
![技术图片](https://image.cha138.com/20210714/c9389bdbbbc745b4827aa95668bff9e2.jpg)
为http请求添加Summary Report
右键点击“http请求”,添加-》监听器->Summary Report
可在此页面中查看报告
可在此页面中查看报告
![技术图片](https://image.cha138.com/20210714/058bf12d3e6348d491fcb462d96ddf1a.jpg)
开始测试
右键点击”线程组“,start
测试完成之后,可以查看每个api请求过程及结果
以及综合报告
综合报告各个参数指标说明
![技术图片](https://image.cha138.com/20210714/cb6e2fde6f0d410fb61d2671c3db2628.jpg)
测试完成之后,可以查看每个api请求过程及结果
以及综合报告
综合报告各个参数指标说明
Label:取样器/监听器名称
Samples :事务数量
Average:平均一个完成一个事务消耗的时间(平均响应时间)
Min:最小响应时间
Max:最大响应时间
以上单位都是ms
Std.Dev:偏离量,越小表示越稳定
Error %:错误事务率
Throughtput:每秒事务数,即tps
KB/sec:网络吞吐量
---------------------
---------------------
---恢复内容结束---
使用jmeter进行api测试
以上是关于Jmeter接口压力测试的主要内容,如果未能解决你的问题,请参考以下文章