当前位置: 首页 > news >正文

什么是Jmeter ?Jmeter使用的原理步骤是什么?

1.1 什么是 JMeter

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

Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl 脚本,java 对象,数据库和查询,FTP 服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

1.2 为什么是 JMeter

为什么选择 JMeter,下面看看 JMeter 的特色。

1. 开源许可: Jmeter 是完全免费的,并提供了源码可供自定义开发

2. 图形界面模式:提供了方便的图形界面来编辑和开发测试脚本

3. 平台无关:可以轻易在 windows、linux、mac 上运行

4. 多线程框架:通过线程组,能够轻易地设置不同测试的并发用户。

5. 图形测试结果:提供了图表、表格、树、文件等格式的结果显示。

6. 易于安装:jmeter 不需要安装,下载解压即可用。

7. 高扩展性:jmeter 支持用户自定义测试脚本,同样还提供了各种插件。

8. 多测试类型支持:支持性能测试、分布式测试、功能测试

9. 仿真模拟:支持多用户并发测试

10. 多协议支持:支持 http、jdbc、ldap、soap、jms、ftp 等等协议

11. 录制&回放:支持用 badboy 或 jmeter 录制

12. 脚本测试:jmeter 支持 beanshell 和 selenium

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

1.3 JMeter 工作原理

JMeter 基本工作原理如图:

JMeter 完整的工作原理如图:

1.4 总结

本次对 jmeter 进行了简单的基本介绍,主要让大家对 jmeter 有个基本的了解。

第二篇 JMeter 目录及关键配置分析

2.1 前言

学习一种工具,首先得对其关键配置及目录等有一个基本的了解,这样能更方便地深入掌握该工具,下面我们就 JMeter 的目录及相关关键配置进行分析说明。

2.2 下载安装

1. 安装主程序

从 Apache JMeter 官网下最新版本:

http://jmeter.apache.org/download_jmeter.cgi

下载后直接解压即可。

2. 安装插件管理


https://jmeter-plugins.org/install/Install/ 或 https://jmeter-plugins.org/downloads/all/ 下载插件管理包,如图:

将下载的包放至 jmemter 解压根目录的 lib/ext 下后重启jmeter即可。

2.3 目录说明

先看一下解压后的 JMeter 安装目录:

目录说明:

backups: 包含jmeter对测试计划的自动备份保存

 bin: 包含启动、配置等相关命令

 docs: 官方本地文档目录

 extras: 辅助库

 lib: 核心库,包含 JMeter 用到的各种基础库和插件

 licenses: 包含 non-ASF 软件的许可证

 printable_docs: 可打印版本文档目录

 LICENSE: JMeter 许可说明

 NOTICE: JMeter 简单信息说明

 README.md: JMeter 官方基本介绍

下面我们重点看下 bin 目录,如图:

主要介绍 bin 目录下我们最关注几个文件:

 jmeter.properties: JMeter 核心配置文件,各种配置基本在这完成

 log4j.conf: JMeter 日志配置管理

 jmeter.log: JMeter 运行日志记录,什么输出信息、警告、报错都在这里进行了记录

 jmeter.bat: windows 下 jmeter 启动文件

 shutdown.cmd: windows 下 jmeter 关闭文件

 stoptest.cmd: windows 下 jmeter 测试停止文件

 jmeter-server.bat: windows 下 jmeter 服务器模式启动文件

注:每一个.cmd 文件都对应一个.sh 文件,.sh 是 linux 下的对应功能的文件,其他文件的功能就不一一说明了,同时其他目录这里也不再进行阐述,有兴趣的可以自己深入看下。

2.4 关键配置说明

1. jmeter.properties 配置说明

主要包含以下几个方面的配置:

SSL 配置:

重点关注下面几个配置

# 指定 HTTPS 协议层

https.default.protocol=TLS

# 指定 SSL 版本,实际应用中可能需要修改

https.default.protocol=SSLv3

# 设置启动的协议

https.socket.protocols=SSLv2Hello SSLv3 TLSv1

# 缓存控制,控制 SSL 是否可以在多个迭代中重用

https.use.cached.ssl.context=true

JMeter 界面显示配置

这里就不对其界面显示控制进行说明了,一般情况下默认界面能满足大家的应用了。

JMeter 测试项目自动备份配置

# 设置是否启用自动备份,默认是 true

jmeter.gui.action.save.backup_on_save=true

# 设置自动备份目录,默认备份至 JMeter 根目录的 backups下

jmeter.gui.action.save.backup_directory=

# 设置自动备份项目数,默认为最近 10 个

jmeter.gui.action.save.keep_backup_max_count=10

远程主机配置

# 配置远程主机的 IP,默认为本机。用逗号","可以设置多个远程主机

remote_hosts=127.0.0.1

# 多个远程主机指定示例如下,其中:后为端口

remote_hosts=127.0.0.1:1099,127.0.0.1:1200,127.0.0.1:1300

对于 RMID 的配置请直接看配置文件中的选项说明

日志管理配置

# 设置日志格式

log_format_type=default

# 设置日志输出级别

log_level.jmeter=INFO

# 设置 junit 日志输出级别

log_level.jmeter.junit=DEBUG

# 设置日志输出目标文件,默认为 jmeter.log

log_file=jmeter.log

等等其他还有 10 多个配置大项(就不一一列举了)

jmeter.bat 关键配置修改

为了更优化的使用 jmeter,需要对 jmeter.bat 中的一些配置根据当前机器的配置进行优化,这里进行关键配置项说明,找到这些配置,对其中的数值根据当前机器的硬件配置来修改。

set HEAP=-Xms2048m -Xmx2048m

set NEW=-XX:NewSize=512m -XX:MaxNewSize=512m

set SURVIVOR=-XX:SurvivorRatio=8 -

XX:TargetSurvivorRatio=50%

set TENURING=-XX:MaxTenuringThreshold=2

if %current_minor% LEQ "8" (

rem Increase MaxPermSize if you use a lot of Javascript in

your Test Plan :

set PERM=-XX:PermSize=512m -

XX:MaxPermSize=1024m

)

2.5 启动 jmeter

在 bin 目录下直接双击 jmeter.bat 即可

启动后的界面如下:

2.6 总结

本次就 jmeter 的安装和配置及关键配置项进行了分享,大家可以深入的去研究下其他的一些配置,以便进一步的熟悉 jmeter 的原理和应用。

今天的分享就到此结束了,大家还有什么不懂的可以评论区下留言哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下

相关文章:

什么是Jmeter ?Jmeter使用的原理步骤是什么?

1.1 什么是 JMeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚…...

Mac 通过 brew安装的 ffmpeg 切换版本

现有版本为 6.x ,想切换至 5.x 版本 先安装 5.x 版本 brew install ffmpeg5安装完成后会出现具体版本号,也可以自己指定例如 brew install ffmpeg5.1.3 配置环境变量 .zshrc vi ~/.zshrc添加如下命令 export PATH/usr/local/Cellar/ffmpeg5/5.1.3/bin:…...

【Spring Boot】实战:实现数据缓存框架

🌿欢迎来到@衍生星球的CSDN博文🌿 🍁本文主要学习【Spring Boot】实现数据缓存框架 🍁 🌱我是衍生星球,一个从事集成开发的打工人🌱 ⭐️喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路⭐️💠作为一名热衷于分享知识的程序员,我乐于在CSDN上与广大开发者…...

MySQL数据类型之JSON

MySQL数据类型之JSON SON类型是MySQL 5.7版本新增的数据类型,用好JSON数据类型可以有效解决很多业务中实际问题。 使用JSON数据类型,推荐用MySQL 8.0.17以上的版本,性能更好,同时也支持Multi-Valued Indexes; JSON数…...

nginx_0.7.65_00截断_nginx解析漏洞

nginx_0.7.65_00截断_nginx解析漏洞 文章目录 nginx_0.7.65_00截断_nginx解析漏洞1 环境搭建1 解压nginx_0.7.652 双击启动,如有闪退,端口占用的情况,在conf文件nginx.conf修改一下端口号3 查看一下进程有nginx4 启动成功访问127.0.0.1:18080…...

建站百科:HTTP返回状态码是什么?

HTTP返回状态码是用于表示HTTP响应状态的三位数字代码。HTTP状态码由6位数字组成,每3位数字代表一种状态,如200表示成功,404表示未找到资源,500表示服务器内部错误等。 常用的状态码包括: 200:正常的网页…...

人像摄影简记

文章目录 光影室外顺光室内顺光室外逆光室内逆光散射光 姿势错误姿势避免摆拍技巧场景互动抓拍利用道具 构图构图目的构图基础概念画幅:横画幅和竖画幅景别:全身、大半身及半身、特写拍摄高度:平拍、俯拍和仰拍拍摄方位:正面、前侧…...

【Java 基础篇】Java 实现模拟斗地主游戏

欢迎阅读本篇博客,在这篇博客中,我们将详细讲解如何使用Java编写一个简单的模拟斗地主游戏。这个项目将帮助您了解Java编程中的一些基本概念,如面向对象编程、集合框架的使用、随机数生成等。 引言 斗地主是一种非常受欢迎的纸牌游戏&#…...

计算机专业毕业设计项目推荐09-个人医疗系统(Spring+Js+Mysql)

个人医疗系统(SpringJsMysql) **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及…...

安卓Compose(一)

为什么学习安卓Compose? 安卓Compose是一个相对新的UI工具包,它的出现为安卓应用程序开发带来了一系列的好处。下面是一些学习Compose的理由: 声明式UI 与传统的安卓XML布局相比,Compose使用了声明式的UI编程范例。这意味着你可以…...

【Linux学习】03Linux用户和权限

Linux(B站黑马)学习笔记 01Linux初识与安装 02Linux基础命令 03Linux用户和权限 文章目录 Linux(B站黑马)学习笔记前言03Linux用户和权限认知root用户root用户(超级管理员)su和exit命令sudo命令 用户、用户…...

LeetCode 面试题 05.04. 下一个数

文章目录 一、题目二、Java 题解2.1 求大数:2.2 求小数: 一、题目 下一个数。给定一个正整数,找出与其二进制表达式中1的个数相同且大小最接近的那两个数(一个略大,一个略小)。 示例1: 输入: n…...

SDXL prompt 笔记

模型 模型有两个,分别是 stable-diffusion-xl-base-1.0、stable-diffusion-xl-refiner-1.0。 base 模型是用来做文生图,refiner 模型是用来做图生图的。 SDXL 模型之 base、refiner 和 VAE_云水木石的博客-CSDN博客 分辨率 默认是1024*1024&#xf…...

使用Redis管道进行查询接口性能优化

一、引入 在我们的正常项目开发过程中,我们会通过Redis缓存数据,来帮我们进行异步任务,分担外部的请求压力 但是Redis缓存也有一定的限制,因为我们在向请求过来时,Redis客户端都要向服务端发送一次请求,相应…...

初学vue.js

准备Vue.js环境 ① 下载环境: javaScript语言的程序包:外部js文件 对于Vue来说,导入Vue的外部js文件就能够使用Vue框架了。 Vue框架的js文件获取: 官网提供的下载地址:https://cdn.jsdelivr.net/npm/vue/dist/vue.js ②导入环境…...

React的thunk中间件

Thunk 是一种中间件,它可以在 Redux 中处理异步操作。Thunk 中间件允许你在 action 中返回一个函数,而不仅仅是一个普通的 action 对象。这个返回的函数可以接收 dispatch 和 getState 作为参数,并且可以在函数内部进行异步操作。当使用 Thun…...

数组初学者向导:使用Python从零开始制作经典战舰游戏

引言 战舰游戏,一个广受欢迎的经典游戏,为玩家提供了策略与猜测的完美结合。这个游戏的核心思想是通过猜测敌方船只的位置并尝试击沉它们来赢得比赛。在这篇文章中,我们将使用Python语言和数组来构建这款游戏,让你更加了解数组的…...

【STM32】IAP升级 预备知识

IAP(In Application Programming)简介 Flash够大的情况下,上电后的程序通过修改 MSP 的方式,可以在一块Flash上存在多个功能差异的程序。 IAP是为了在执行正常功能前,为了升级功能,提前运行的一段程序。这…...

asp.net网站的建立及运行

点击创建新项目 在输入框中输入asp.net,并选择图中的 点击下一步 点击创建 然后,右键,添加,新建项 选择web窗体 点击添加 点击视图,工具箱 选择一个label,记住这个id 空白处右键,查看代码 添…...

怎么把webm转换成mp4?

怎么把webm转换成mp4?与MP4这位视频格式大哥相比,Webm这种视频格式还有很多小伙伴对它不太熟悉,因为大家平时也是偶尔才能接触到,属于不常用的视频格式。Webm是一种开放、免费的媒体文件格式,尽管如今它的应用范围比以…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...