JMeter压测工具安装和简单使用

一、JMeter简介

1、简介

Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。

JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。
另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。

JMeter的作用:

  1. 能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
  2. 完全的可移植性和100% 纯java。
  3. 完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
  4. 完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
  5. 精心的GUI设计允许快速操作和更精确的计时。
  6. 缓存和离线分析/回放测试结果。

2、下载及安装:

由于 Jmeter是基于 Java开发,首先需要下载安装 JDK,自行安装 JDK。下面我们下载安装 Jmeter。

Jmeter官网下载:https://jmeter.apache.org/download_jmeter.cgi

在这里插入图片描述
下载解压之后,无需安装。点击 bin/jmeter.bat即可

在这里插入图片描述
即打开 Jmeter工具面板,然后就可以使用了。

在这里插入图片描述

3、中文环境

我们可以通过修改配置文件来设置 JMeter中文环境,进⼊ bin目录,找到“jmeter.properties”文件。

添加“language=zh_CN”即可。

在这里插入图片描述

保存之后再打开 JMeter就永久变为中文环境了。

在这里插入图片描述

4、JMeter元件简介

主要元件:

  1. 测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器
  2. 线程组:代表⼀定数量的用户,它可以⽤来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
  3. 配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。
  4. 前置处理器:负责在请求之前工作,常⽤来修改请求的设置
  5. 定时器:负责定义请求之间的延迟间隔。
  6. 取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每⼀种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。
  7. 后置处理器:负责在请求之后工作,常用获取返回的值。
  8. 断⾔:用来判断请求响应的结果是否如用户所期望的。
  9. 监听器:负责收集测试结果,同时确定结果显示的方式。
  10. 逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使⽤可以模拟复杂的请求序列。元件的作用域和执行顺序。

5、测试计划

测试计划一般所需要的下面元件:

  1. 线程组:压测高并发下系统的表现,jmeter提供线程组的工具,能够在jmeter内部启动多个并发的线程,并发的去发送一些接口的请求,用来测试服务端的压力。
  2. HTTP请求: 线程组要做的事情就是在这个场景下发送 http 请求(Cookie管理器,Http请求默认值等)。
  3. 监听器(查看结果树、图形结果、聚合报告等)
    • 查看结果树:等到有对应的 http 请求发送出去之后,需要查看对应http的返回结果(正常的|异常的)。异常的话就有可能是容量不够所产生的拒绝连接等等这种样子的瓶颈。
    • 聚合报告:生成性能压测报告,内部含有TPS,QPS等性能评测的指标来表现对应接口的响应情况等。

也可以根据实际测试需求添加更多元件。

二、JMeter简单使用

根据 测试计划的了解。下面开始 JMeter的使用。

1、添加线程组

元件描述:⼀个线程组可以看做⼀个虚拟用户组,线程组中的每个线程都可以理解为⼀个虚拟用户。

添加方法:右键点击Test Plan->添加->线程(用户)->线程组。

在这里插入图片描述

设置 Jmeter发送请求的线程属性。

在这里插入图片描述

线程属性:

  • 线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数
  • Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。
    如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
  • 循环次数:每个线程发送请求的个数。
    如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会⼀直发送请求,直到⼿动点击⼯具栏上的停止按钮,或者设置的线程时间结束。

上图解释:会在10秒钟之内启动起来20个线程,并且让这20个线程每个线程都循环调用接口1次。

2、添加 HTTP请求

元件描述:HTTP请求包括接口请求方法、请求路径和请求参数等。

添加方法:右键线程组->添加->Sampler->HTTP请求。

在这里插入图片描述

用来做真正做压测一个接口。根据你的接口填写相关信息。

http请求对应的协议默认就是 http。

在这里插入图片描述

3、添加查看结果树

监听器元件描述:树状形式显示接口的访问结果,包括请求结果、请求内容、服务器的响应内容。

添加方法:线程组 ->右键添加 ->监听器 ->查看结果树。

在这里插入图片描述

查看结果树、查看结果集的功能,查看成功多少,失败多少,并且有一个返回值。

结果树当中会把对应的一个http接口返回的response都打印出来,可以选仅显示错误日志,仅显示成功日志。

在这里插入图片描述

4、聚合报告

添加方法:线程组 ->右键添加 ->监听器 -> 聚合报告。

有接口响应的平均值,中位数值,90线,95线,99线,最大最小值,Error,TPS,received sent的数据包大小。

在这里插入图片描述

5、保存,然后运行

在这里插入图片描述

到此,使用 JMete对软件做压力测试就算入门了。关于 JMeter中各个元件的介绍可查看参考文章。

参考文章:

– 求知若饥,虚心若愚。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值