压测工具Jmeter学习

压测工具Jmeter

Jmeter介绍

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

  1. Apache的ab压力测试
  2. Nginter 韩国研发
  3. PAS 阿里测试工具
  4. MeterSphere :国内持续测试的开源平台

下载安装

官网下载安装即可。首页左侧有相关下载的链接。
在这里插入图片描述

使用

一般情况下,Jmeter的使用流程如下:

  1. 创建测试计划
  2. 配置线程组、http请求、断言、结果监听器
  3. 执行测试
  4. 查看测试结果,分析测试结果

1、创建测试计划
在这里插入图片描述
2、配置线程组

  • 线程数:用来发送http请求的线程的数量
    • 线程组常用来模拟一组用户访问系统资源(API接口)
    • 假如客户机没有足够的能力来模拟较重的负载,可以使用JMeter的分布式测试功能,通过一
      个JMeter的Master来远程控制多个JMeter的Salve完成测试
  • 循环次数:循环执行多少次操作
    • 循环次数表示了循环执行多少次操作!循环次数直接决定整个测试单个线程的执行时间,和整体测试执行时间
    • 单线程执行时间 = 单请求平均响应时间 * 循环次数
    • 整个测试耗时 = 单线程执行时间 + (Ramp-Up - Ramp-Up / 线程数)
  • Ramp-Up:建立全部线程耗时
    • Ramp-Up Period (in-seconds) 代表隔多长时间执行,默认值是0,0代表同时并发。用于告知JMeter 要在多长时间内建立全部的线程
      在这里插入图片描述

线程属性说明:

  • 线程数:20, 线程数量,这里设置了20个线程
  • ramp-up:表示在指定时间之内把这些线程全部启动起来。 如果n=1,那就表示要在1s以内把50个线程全部启动起来
  • 循环次数:2000,表示把 20 thread 循环2000次,也就是说让每一个请求接口循环调用接口2000次

3、设置Http请求
在这里插入图片描述
设置请求协议、端口、路径等信息。
在这里插入图片描述

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

  • 响应断言:判断响应内容是否包含指定的字符信息,用于判断api接口返回内容是否正确
  • 响应时间断言:判断响应时间,是否超过预期的时间,用于判断api接口返回时间是否超过预期
    在这里插入图片描述
    接口返回包含"code":0则认为返回内容正确
    在这里插入图片描述

设置请求接口时间超过3毫秒,则认为请求失败
在这里插入图片描述

5、设置结果监听
在这里插入图片描述
配置监听器:监听压测结果,聚合报告和汇总结果很类似,看一个就行

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

聚合报告相关结果解释如下:

  • 样本(sample): 发送请求的总样本数量
  • 响应时间【单位ms】:
    • 平均值(average):平均的响应时间
    • 中位数(median): 中位数的响应时间,50%请求的响应时间
    • 90%百分位(90% Line): 90%的请求的响应时间,意思就是说90%的请求是<=1765ms返回,另外10%的请求是大于等于1765ms返回的。
    • 95%百分位(95% Line): 95%的请求的响应时间,95%的请求都落在1920ms之内返回的
    • 99%百分位(99% Line): 99%的请求的响应时间
    • 最小值(min):请求返回的最小时间,其中一个用时最少的请求
    • 最大值(max):请求返回的最大时间,其中一个用时最大的请求
    • 异常(error): 出现错误的百分比,错误率=错误的请求的数量/请求的总数
    • 吞吐量TPS(throughout): 吞吐能力,最重要的就是这个了
    • Received KB/sec----每秒从服务器端接收到的数据量
    • Sent KB/sec----每秒从客户端发送的请求的数量
      在这里插入图片描述

结果树
在这里插入图片描述

汇总报告相关结果解释如下,和聚合报告很类似。

  • 样本(sample): 发送请求的总样本数量
  • 响应时间【单位ms】:
    • 平均值(average):平均的响应时间
    • 最小值(min):请求返回的最小时间,其中一个用时最少的请求
    • 最大值(max):请求返回的最大时间,其中一个用时最大的请求
    • 标准偏差:度量响应时间分布的分散程度的标准,衡量响应时间值偏离平均响应时间的程度。
      标准偏差越小,偏离越少,反之亦然。
  • 异常(error): 出现错误的百分比,错误率=错误的请求的数量/请求的总数
  • 吞吐量TPS(throughout): 吞吐能力,这个才是我们需要的并发数
  • 每秒接收 KB/sec----每秒从服务器端接收到的数据量
  • 每秒发送KB/sec----每秒从客户端发送的请求的数量
  • 平均字节数
    在这里插入图片描述
    除了上面的这些步骤以外,由于某些情况下回涉及到登录以后对接口进行测试,所以需要添加HttpCookie管理器,这样才能正请求成功在这里插入图片描述在这里插入图片描述

最后Jmeter如何设置中文,找到对应内容加上第一句和最后一句。

goto remove_language_reset_bug_4.0
if not defined JMETER_LANGUAGE (
    rem Set language
    rem Default to en_EN
    set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="EN"
)
:remove_language_reset_bug_4.0

参考

  1. Jmeter中文网
  2. Jmeter官网
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jmeter是一款开源的压测工具,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器等等。JMeter能够对应用程序做功能和回归测试,通过创建带有断言的脚本来验证程序返回了期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。你可以通过下载并安装JMeter来进行压力测试。 你可以从官方网站(http://jmeter.apache.org)下载JMeter的安装包,并按照相关的安装配置步骤进行安装。 JMeter是一款功能强大的工具,可以用于对服务器、网络或对象模拟巨大的负载,测试它们的强度和分析整体性能。它也可以用于接口测试和数据库压力测试等场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [jmeter 压力测试教程全解](https://blog.csdn.net/luanpeng825485697/article/details/83787284)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Jmeter压测工具详解](https://blog.csdn.net/m0_37583655/article/details/126507267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值