当前位置: 首页 > news >正文

用jmeter压测接口,并生成压测报告

安装jmeter并配置环境

1、首先电脑要配置java环境(这里就不说了,去官网下载个jdk,最好8以上,然后配置一下环境变量,在终端输入java -version ,如果显示了jdk版本就配好了),原因:jmeter需要在java环境上运行

2、官网下载jmeter压缩包,一般下载以.zip结尾的,下载后解压到本地,然后进入bin目录,把bin目录的地址也加到环境变量path中,在bin目录下有个jmeter.bat的文件双击就可以打开了

QPS压测步骤

一、在 JMeter 中配置压测

1.创建测试计划
打开 JMeter,在 “测试计划” 上右键点击,选择 “添加” - “Threads(Users)” - “线程组” 。在 “线程组” 中设置线程数(模拟用户数)、Ramp - Up Period(启动时间,单位秒,即多长时间内启动完所有线程)、循环次数等参数。例如,线程数设为 100,Ramp - Up Period 设为 1,循环次数设为 10 ,表示 1 秒内启动 100 个线程,持续120秒,如图所示

  1. 添加 HTTP 请求
    在 “线程组” 上右键点击,选择 “添加” - “Sampler” - “HTTP 请求” 。
    • 协议:根据实际情况填写,如http 。
    • 服务器名称或 IP:填写localhost(如果是本地运行) 。
    • 端口:填写port 。
    • 路径:填写/api/****(自己的接口) 。
    • 方法:选择POST/GET/... 。
    • 配置请求体(Body):如果是json就在消息体数据中添加json数据,如果是param或者form表单就在参数中添加,如果有文件就在文件上传添加,记得勾选参数类型

  1. 配置请求头(Headers)
    在 “HTTP 请求” 下右键点击,选择 “添加” - “配置元件” - “HTTP 信息头管理器” 。在 “HTTP 信息头管理器” 中添加 Postman 中Headers里的参数,如Content-Type:application/json ,token:***** 等。

二、添加监听器查看结果

  1. 添加聚合报告
    在 “线程组” 上右键点击,选择 “添加” - “监听器” - “聚合报告” 。运行测试后,聚合报告可实时显示请求的平均响应时间、中位数、90% 百分位响应时间、吞吐量等数据。
  2. 添加图形结果
    同样在 “线程组” 上右键点击,选择 “添加” - “监听器” - “图形结果” 。它能以图形化方式展示响应时间等数据变化情况。
  3. 添加汇总报告
    同样在 “线程组” 上右键点击,选择 “添加” - “监听器” - “汇总报告” 。
  4. 添加查看结果树
    同样在 “线程组” 上右键点击,选择 “添加” - “监听器” - “查看结果树” 。它能以请求的方式展示接口是否响应成功。

三、生成 HTML 压测报告

  1. 运行测试并保存结果
    点击 JMeter 工具栏上的 “启动” 按钮运行测试。测试结束后,点击 “保存” 按钮,将测试结果保存为.jtl格式文件(如result.jtl )。如果保存的是jmx文件则需要在终端输入一行这个代码把你保存的文件转成.jtl文件
jmeter -n -t yourname.jmx -l result.jtl
  1. 生成 HTML 报告
    打开命令行窗口,进入 JMeter 安装目录下的bin文件夹。执行命令如下,执行完后会生成一个report文件夹,文件夹中有一个index.html就是报告,示例如下
jmeter -g result.jtl -o report

http://www.xdnf.cn/news/200431.html

相关文章:

  • 工业通讯现场中关于EtherCAT转TCPIP网关的现场应用
  • 初识c++
  • Miniconda Windows10版本下载和安装
  • 工业园区工厂企业数字IP广播应急呼叫对讲系统:数字IP广播极大提升工厂企业管理效率与应急响应效能
  • JAVA实现将富文本内容插入已有word文档并下载(dock4j+jsoup)
  • 【OSG学习笔记】Day 12: 回调机制——动态更新场景
  • Vue 3 vuedraggable 例子
  • AI网文热门题材生成用什么?小说创作工具来帮忙
  • C++中的智能指针
  • 双向流-固计算前处理和耦合设置
  • tanstack动态路由 + router/ 目录管理方案
  • 树莓派学习专题<12>:使用x264库实施H264编码--Linux和Windows上的部署
  • OpenVLA-OFT
  • 谷歌政策松绑?!3月仅下架4.8万款App,同比减少50%
  • Spring生命周期
  • Linux系统编程---exec簇:进程的加载与替换
  • 安装qt4.8.7
  • 软件评测:从多维度看其界面、功能、性能稳定性如何?
  • Java后端开发day38--不可变集合Stream流
  • Java后端接口调用拦截处理:注解与拦截器的实现
  • STM32实现SPI转USB虚拟串口输出(实测40M时钟不丢包)
  • 报表工具:企业数据决策的“智能翻译官“
  • 【knife4j】添加Cookie
  • 12. RANSAC点云多平面拟合分割
  • MySQL5.7.21查询入门
  • 软链接与硬链接
  • Transformer Prefill阶段并行计算:本质、流程与思考
  • 电价单位解析与用电设备耗电成本计算
  • python程序设习题答案
  • 沐曦玩转 LMDeploy、XTuner 和 InternLM3