首页 > 其他分享 >Apache JMeter 压测工具使用记录

Apache JMeter 压测工具使用记录

时间:2024-06-09 11:23:22浏览次数:16  
标签:jmeter 压测 添加 3.2 测试 Apache 线程 JMeter

目录

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

标签:jmeter,压测,添加,3.2,测试,Apache,线程,JMeter
From: https://www.cnblogs.com/lihw-study/p/15409072.html

相关文章

  • 使用Mybatis出现org.apache.ibatis.binding.BindingException: Invalid bound stateme
    一般的解决方式:1、检查xml文件名和mapper接口名字是否一致2、检查xml文件中的namespace和mapper接口的全类名是否一致3、检查xml文件中的方法名和mapper接口中的方法名是否一致4、检查target中是否存在xml文件,如果不存在有两种方式,第一种是在yml文件中配置,第二种是在pom.xm......
  • 学习分享-面向分布式服务架构的流量管理工具Apache Sentinel
    前言最近学习过程中有接触到ApacheSentinel这个工具,所以就分享一下相关的资料和知识。ApacheSentinel是阿里巴巴开源的一款面向分布式服务架构的流量管理工具,主要用于流量控制、熔断降级和系统负载保护。Sentinel提供了一整套完善的流量管理方案,可以帮助开发者保障微服......
  • 使用Apache Kafka构建可扩展的消息系统——Java的高吞吐数据处理
    引言:在处理大数据和实时事件驱动架构时,ApacheKafka展示了其强大的能力。作为一个高性能的消息队列,Kafka支持数据的发布和订阅,以及对数据流的存储,使其成为构建复杂的实时应用程序的核心组件。什么是ApacheKafka?ApacheKafka是一个开源的流处理平台,由LinkedIn开发并贡献给Ap......
  • 使用jmeter,响应体response body中有两个同名的cookies时,如何获取第二个cookie进行跨线
     如图两个同名cookie:.AspNetCore.Cookies正则表达式提取器引用名称:loginCookie正则表达式:Set-Cookie:(.AspNetCore.Cookies=.*?;)模板:$1$(确保正确匹配到第二个.AspNetCore.Cookies)匹配数字2  beanshell后置处理程序${__setProperty(loginCookie,${loginCookie},)......
  • Jmeter脚本录制
    以录制baidu为例,代理服务器操作步骤如下:创建一个线程组创建HTTP(S)测试脚本记录器目标控制器选择测试计划>线程组,会录制到线程组下分组详解不对样本分组:所有请求全部罗列。在组间添加分隔:加入一个虚拟的以分割线明明的动作每个组放入一个新的控制器:执行时按控制器给......
  • 巧用docker+jmeter快速实现分布式百万级并发
    分享背景碰到的问题:一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试~解决办法:1、修改jmeter配置文件里的内存堆2、引入jmeter分布式压测带来的问题:如果我们要做分布式负载测试–我们需要1个主机和N个从机来产生巨大的负载。每台JMeter从机都需要......
  • jmeter连接数据库查询数据库表数据
    1、先下载mysql-connector-java-5.1.7插件放到jmeter目录的lib下面,下载地址(https://downloads.mysql.com/archives/c-j/),因为我的jmeter是放在Windows的,所以我下载第二个​2、下载完后解压文件,复制文件夹下面的mysql-connector-java-5.1.7-bin存放到jmeter的lib目录下(忘记jmet......
  • 「漏洞复现」Apache OFBiz 路径遍历漏洞(CVE-2024-36104)
    0x01 免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需......
  • 使用Apache POI操作Excel
    案例一:(创建工作表)在使用ApachePOI操作Excel时,如果要处理大量的数据(例如十万级别的行),则需要特别注意性能优化。以下是一些优化建议和详细说明:使用SXSSFWorkbook:SXSSFWorkbook是XSSFWorkbook的流式版本,可以有效地节省内存,因为它会将数据写入磁盘而不是全部保存在内存中。这是......
  • Jmeter与loadrunner的区别
    当比较JMeter和LoadRunner时,我们可以从以下几个方面进行更详细的比较:1.**功能和支持的协议**:-JMeter主要支持HTTP、HTTPS、FTP、JMS、SOAP、LDAP等常见协议,适用于Web应用程序和Web服务的性能测试。-LoadRunner支持更多的协议和技术,包括HTTP、HTTPS、JDBC、LDAP、RDP、Ci......