JMeter压测工具安装和简单使用
创始人
2025-05-29 03:43:52
0

一、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中各个元件的介绍可查看参考文章。

参考文章:

  • Jmeter中文网:http://www.jmeter.com.cn/jieshao
  • 一看就懂的JMeter操作流程(各个元件简介):https://mp.weixin.qq.com/s?__biz=MzI3NDc4NTQ0Nw==&mid=2247520878&idx=1&sn=dfe8a1941d3accefa07e483597c1a014&chksm=eb0c67a6dc7beeb0e330a198cca58872a03d7c0c9cb9a3dddfc6d75f4f13189eecf0fb91c91a&scene=27

– 求知若饥,虚心若愚。

相关内容

热门资讯

北方华创,巨额商誉压力突然高悬... 文丨詹詹编辑丨百进来源丨新商悟(本文约为 1300字)当国内半导体设备龙头北方华创交出一份“营收创历...
长城华西银行原女掌门已回老东家... 湘财Plus注意到,四川银行入主长城华西银行后,该行核心管理人员调整基本落定,法定代表人已正式变更为...
立案,跌停!这家“童年记忆”,... 沉浮多年,方向何在?最近被立案的上市公司,着实有些多,就在上周末,又有一家上市公司及原董事长被立案调...
加码生态环境监测!生态环境部:... 本文来源:时代周报 作者:李杭4月27日,生态环境部举行4月例行新闻发布会。 生态环境部4月例行新...
东方甄选主播“离职潮”持续发酵... 红星资本局4月27日消息,东方甄选(01797.HK)主播“离职潮”事件仍在发酵。在社交平台上,有部...
SpaceX万亿IPO前夜:马... 从20亿美元收购,到万亿IPO前的最后叙事。2026年4月23日深夜,特斯拉向SEC提交了一份季报文...
前董事长陆宏达“闪电辞职”牵扯... 紧急澄清前董事长性侵指控后,智度股份仍难挡股价大跌。4月27日,智度股份早盘一度重挫逾9%,逼近6....
高盛:一场全球性化工危机正在爆... 霍尔木兹海峡通行受阻,正在引发一场史无前例的全球化工供应冲击。高盛最新报告表示,基础化工品价格近几周...
这笔400亿,谷歌买的不是友谊... 4月25日,Anthropic宣布谷歌将向其投资最高400亿美元——先期注入100亿美元现金,估值3...
粪坑,爬出来了 粪坑,爬出来了... 图:Simon Bailly 读者说:“有人发现吗?2019年蚂蚁的大热基金鹏华快回本了,当年最高回...