不安分的黑娃
踏踏实实,坚持学习,慢慢就懂了~

Apache JMeter 压测工具使用记录

工作中遇到了3次压测相关的事情,这里就专门学习记录下Apache JMeter 。

参考资料

官方网站

JMeter 是什么?

Apache JMeter™ 是开源100% Java 应用,设计用来加载测试功能行为和测量性能。

JMeter 特性

很多产品官网都会介绍说有什么什么特性,但是我总会跳过觉得不重要,其实我的这种做法是错误的。一个产品拥有什么样的特性,其实就是快速告诉你产品可以做什么。

特性:

  • 能够测试众多不同的应用、服务、协议类型:
    • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
    • SOAP / REST Webservices
    • FTP
    • Database via JDBC
    • LDAP
    • Message-oriented middleware (MOM) via JMS
    • Mail - SMTP(S), POP3(S) and IMAP(S)
    • Native commands or shell scripts
    • TCP
    • Java Objects
  • 完整特色测试IDE快速测试方案记录构建调试
  • 命令行模式(从 Java 兼容的系统负载测试)
  • 提供HTML报告
  • 易于从响应格式提取数据,比如HTML,JSON,XML或任意文本格式
  • 可移植性(100%Java)
  • 多线程框架:支持多线程并发,同时测试多个功能由分离不同线程组
  • 缓存和分析重复测试执行结果
  • 高度扩展:
    • 可插拔取样器
    • 脚本取样
    • 提供多个负载统计
    • 数据分析和可视化插件
    • 提供动态输入的函数或操纵数据
    • 易于与Maven,Gradle,Jenkins第三方开源库进行集成

3 使用 jmeter

3.1 安装 jmeter

1 下载二进制安装包
浏览器打开 https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zip 下载 jmeter 5.6.3 安装包。

5.6.3 版本要求 JDK 1.8+

2 解压 apache-jmeter-5.6.3.zip
解压后目录:
![[jmeter-install-file-overview.png]]

3 启动 jmeter gui

执行命令:

cd C:\work\soft\apache-jmeter-5.6.3 
bin\jmeter.bat

控制台打印:

WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================

注意:控制台输出内容提示,GUI 模式仅用于调试!进行压测必须使用命令行模式!

启动界面如下:

image

3.2 添加一个 http 测试方案

3.2.1 调整测试方案名

按如下图顺序操作调整方案名后保存:
image

3.2.2 添加线程组

在【Black Http Test】点击右键 ->【Add】 ->【Threads(Users)】 ->【Thread Group】
image

调整线程组名称和备注:
image

鼠标点击【Thread Group】名字会自动变为【线程组】:
image

3.2.3 添加 HTTP 采样器

【线程组】右键 ->【Add】->【Sampler】->【HTTP Request】
image

调整 HTTP 请求名,并添加 http 接口地址:
image

3.2.4 添加结果监听器

【线程组】右键 ->【Add】->【Listener】->【View Results Tree】
image

调整名字:
image

3.2.5 添加汇总报告

【线程组】右键 ->【Add】->【Listener】->【Aggregate Report】
image
image

调整名字:
image

3.3 执行测试方案

选中【线程组】->点击工具栏的 start 按钮

image

查看结果:
image

查看汇总报告:
image

posted on 2024-06-09 11:09  不安分的黑娃  阅读(17)  评论(0编辑  收藏  举报