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

– 求知若饥,虚心若愚。

相关内容

热门资讯

大陆集团三季度净利润4.86亿... 11月11日消息,大陆集团发布2024年第三季度业绩:销售额为98亿欧元,同比减少4.0%;调整后的...
印度据悉将传唤亚马逊和Flip... 11月11日消息,据报道,印度政府一位高级消息人士表示,印度金融犯罪机构将传唤印度最大电子商务零售商...
中兴通讯涨停创阶段新高,三机构... 11月11日消息,中兴通讯(000415.SZ)今日涨停,股价创2023年8月以来新高,成交额88....
工信部印发《重点工业产品碳足迹... 11月11日消息,为加快提升重点工业产品碳排放管理水平,促进行业绿色低碳转型,支撑实现碳达峰碳中和目...
竞争加剧成本上升,新加坡航空预... 11月11日消息,据报道,新加坡航空的乘客运载量有所回升,但收益率不增反降。该公司预计,随着行业运力...
从喜羊羊到做换电站,广东富豪3... 看来也不是李斌的问题…被特斯拉嘲讽的换电生意,是真不好做啊!为什么这么感慨?!因为最近,“换电一哥”...
她划捅10刀杀了27岁女子,家... 成都27岁女子家门口遇害案,于今天(12月16日)上午在成都市中级人民法院第二次开庭审理。 该案中,...
「一城一酒」白酒人事变动再添一... 本报(chinatimes.net.cn)记者周梦婷 北京报道白酒行业高层变动再添一例。12月15日...
这场论坛信息量极大!专家:20... 12月16日,由中国新闻社主办的“国是论坛:2025年会”在北京召开。 中新社记者 蒋启明 摄文/中...
胜通能源收获3连扳,实控人或变... 红星资本局12月16日消息,今日开盘,液化天然气物流龙头胜通能源(001331.SZ)一字涨停,收获...