2.JMeter压测接口

编程入门 行业动态 更新时间:2024-10-22 03:06:59

2.JMeter压测<a href=https://www.elefans.com/category/jswz/34/1771365.html style=接口"/>

2.JMeter压测接口

概述

今日目标:

  • JMeter使用
    • 配置线程组
    • 配置 HTTP 接口
    • 配置断言
      • 配置响应断言
      • 配置断言响应时间
    • 配置结果监听
    • 压测报告
      • 接口准备
      • 聚合报告
      • 察看结果树
      • 其它
    • 线程组配置详解
      • 线程数
      • Ramp-Up
  • bug
  • 结束

JMeter使用

双击 ApacheJMeter.jar 启动,然后修改名称,点击保存,选择路径

配置线程组

配置线程组,相当于多少 并发数


线程属性说明:

  • 线程数:20,线程数据,这里设置20个线程
  • ramp-up:表示在指定时间之内将这些线程全部启动起来。如果n=1,表示要在1s以内将20个线程全部启动起来。
  • 循环次数:200,表示将 20 线程 循环 200 次,也就是说,每个线程调用接口 200

配置 HTTP 接口

http://localhost:8080/jMeter/test


选择 keepalive 方式,表示使用了长连接。使用长连接可以防止频繁的建立连接,关闭连接消耗性能。一般浏览器都支持 keepalive,如果这里不勾选,压测的部分性能会消耗在建立,关闭连接上,导致压测的数据不准。

配置断言

JMeter 断言常用有两种,一种是响应断言 ,一种是响应时间断言,如果响应内容不满足断言的配置,则认为这次的请求是失败的。

  • 响应断言:判断响应内容是否包含指定的字符信息,用于判断 api 接口返回内容是否正确
  • 响应时间断言:判断响应时间,是否超过预期的时间,用于判断 api 接口返回时间是否超过预期
    断言添加方式:右击测试计划的 http 请求,选择添加 --> 断言 -->加响应断言断言持续时间

配置响应断言

接口正常返回 code 值为 200 ,如果返回 code 不是 200 ,表示接口异常。

配置断言响应时间

设置请求接口时间超3秒,则认为请求失败。

配置结果监听

配置监听器:监听压测结果(聚合报告和汇总结果很类似,看一个就行)

  • 1.聚合报告:查询结果信息聚合汇总,例如样本,平均值,吞吐量,最大值,最小值等
  • 2.察看结果树:记录每一次压测请求
  • 3.图像结果:分析了所请求的平均值,终止,偏离值和吞吐量之间关系(一般)
  • 4.汇总结果:汇总压测结果
  • 5.汇总图:将压测结果以图像形式展示

上面5点,12两点重要;后面三个都在 添加 —> 监听器下面

压测报告

接口准备

@RestController
@RequestMapping("/jMeter")
public class JMeterController {@GetMapping("/test")public Result<String> testJMeter() {return new Result<>("200", "测试JMeter!");}
}

聚合报告

  • 样本(sample):发送请求的总样本数量
  • 响应时间[单位 ms]
    • 平均值(average):平均的响应时间
    • 中位数(median):中位数的响应时间,50%请求的响应时间
    • 90% 百分位(90% line) :90% 请求的响应时间,意思是90%的请求是<=3ms返回
    • 95% 百分位类似
    • 最小值(min):请求返回的最小时间,其中一个用时最少的请求
    • 最大值(max):请求返回的最大时间,其中一个用时最大的请求
    • 异常(error):出现错误的百分比,错误率 = 错误请求的数量/请求的总数
    • 吞吐量TPS(throughout) :吞吐能力
    • Received kb/sec :每秒从服务器端接收到的数据量
    • Sent kb/sec :每秒从客户端发送请求的数据量

察看结果树

其它

其它的意义不大,在此略过

线程组配置详解

线程数

用来发送http请求的线程的数量

  • 线程组常用来模拟一组用户访问系统资源(API接口)
  • 假如客户机没有足够的能力来模拟较重的负载,可以使用JMeter的分布式测试功能 ,通过一个JMeter的Master来远程控制多个JMeter的Slave完成测试

Ramp-Up

建立全部线程耗时
Ramp-Up (in-seconds) 代表隔多长时间执行,默认是0,0代表同时并发。

bug


原因是使用的是 spring boot 3.0.x 版本,但 jdk 版本使用的是 8 ,修改 jdk 版本至 17,问题得以解决

结束

至此 JMeter 压测使用就结束了,如有疑问,欢迎评论区留言。

更多推荐

2.JMeter压测接口

本文发布于:2023-11-16 10:08:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1617898.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接口   JMeter

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!