【测试工具JMeter篇】JMeter性能测试入门级教程(二)出炉,测试君请各位收藏了!!!
上篇文章:CSDN
我们介绍了JMeter的一些原理介绍,以及安装配置和启动流程,本文我们就来讲讲JMeter如何使用。
一、JMeter目录结构组成
1. 根目录
Jmeter安装包解压后的根目录如下图:

- 1.1 backups目录:脚本备份目录,里边的文件都是以.jmx后缀结尾的文件
实际开始安装解压后是不存在这个目录的,这个是使用过JMeter后,JMete会r自动创建这个目录,然后备份脚本文件。
- bin目录 可执行文件目录
Jmeter主要的一些执行文件都放在该目录下。
- docs目录
docs目录下的文件是JMeter的Java Docs,而printable_docs的usermanual子目录下的内容是JMeter的用户手册文档,其中component_reference.html是最常用到的核心元件帮助文档。该目录下存放的是jmeter官方文档的API文档,主要是用于二次开发。
-
extras目录
该目录下的文件提供了对构建工具Ant的支持,可以使用Ant来实现测试自动化,例如批量脚本执行,产生HTML格式的报表,测试运行时,可以把测试数据记录下来,Jmeter会自动生成一个.jtl文件,将该文件放到extras目录下,运行“ant -Dtest=文件名 report”,就可以生成测试统计报表。也可以用于持续集成。
-
lib目录
该目录包含两个子目录,其中ext子目录存放有JMeter的核心jar包,另一个junit子目录存放JUnit测试脚本。用户扩展所依赖的包,应该直接放到lib目录下,而非lib/ext下。
注意:无法识别 zip 格式的包文件,所以需要的包文件均要求以 .jar 结尾
-
Licenses 软件许可文件目录
-
printable_docs目录
该目录存放的是jmeter官方提供的帮助文档。printable_docs的demos子目录下有一些常用的JMeter脚本案例,可以作为参考。可打印半版本目录。
-
Project 这个文件夹是本人手动创建的,诸君目录下肯定是没有的,不需要深究哈,就是用来存放我们生成的脚本的
-
LICENSE ——许可说明
-
NOTICE ——简单信息说明
-
README.md ——JMeter 官方基本介绍
2. 子目录详细介绍
- backups子目录

- bin子目录(这里主要介绍几个常用的)
examples:目录下包含Jmeter使用实例,打开里面是一个csv样例
ApacheJMeter.jar:JMeter源码包
jmeter.bat:windows的启动文件
jmeter.log:Jmeter运行日志文件
jmeter.sh:linux的启动文件
jmeter.properties:系统配置文件
jmeter-server.bat:windows分布式测试要用到的服务器,启动负载生成器服务文件
jmeter-server:Linux下启动负载生成器文件
shutdown.cmd windows 下 jmeter 关闭文件
stoptest.cmd windows 下 jmeter 测试停止文件

-
docs子目录

主要是api文件以及css和图像样式
- extras子目录

- lib子目录(这个子目录下面主要是一些jar包)

二、JMeter主要配置文件
1. jmeter.properties配置文件
jmeter.properties,定义jmeter运行的关键配置。这里列举了一下这个文件的关键配置如下:
#默认语言设置language=en#捕捉cookie开关CookieManager.save.cookies=true#配置编辑器的字体和尺寸jsyntaxtextarea.font.family=宋体jsyntaxtextarea.font.size=20#配置默认编码格式sampleresult.default.encoding=UTF-8#SSL 配置:重点关注下面几个配置# 指定 HTTPS 协议层 # 指定 HTTPS 协议层https.default.protocol=TLS# 指定 SSL 版本,实际应用中可能需要修改https.default.protocol=SSLv3# 设置启动的协议https.socket.protocols=SSLv2Hello SSLv3 TLSv1# 缓存控制,控制 SSL 是否可以在多个迭代中重用https.use.cached.ssl.context=true#JMeter 测试项目自动备份配置# 设置是否启用自动备份,默认是 truejmeter.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.loglog_file=jmeter.log# jmeter.bat 关键配置修改
#为了更优化的使用 jmeter,需要对 jmeter.bat 中的一些配置根据当前机器的配置进行优化,这里进行关键配置项说明,大家根据自己的机器的配置来进行修改。jvm 相关配置,大概在 80 行左右,找到这些配置,对其中的数值根据当前机器的硬件配置来修改。set HEAP=-Xms2048m -Xmx2048mset NEW=-XX:NewSize=512m -XX:MaxNewSize=512mset SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%set TENURING=-XX:MaxTenuringThreshold=2if %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)# 设置输出报告模板格式jmeter.save.saveservice.output_format = csv
2. system.properties配置文件
system.properties,定义Java进程的系统变量,通过System.getProperties()可查询。
3. user.properties配置文件
user.properties,自定义配置,可覆盖jmeter.properties。
4. 拓展
- 配置文件可能存在优先级关系,好像user.properties会覆盖jmeter.properties,一般修改配置都是修改或者添加user.properties,不建议修改jmeter.properties
- 通过修改reportgenerator.properties的下面配置,可以减少采样时间,增加采样精度。生成的报告的其他内容也可以在这里修改。当然,建议这些修改,都放到user.properties里面去

- 修改jmeter.properties里的这些配置,可以控制报告DashBoard的显示时间,建议这些配置放到user.properties里面去

- 输出的控制报告的显示时间如下:

相关文章:
【测试工具JMeter篇】JMeter性能测试入门级教程(二)出炉,测试君请各位收藏了!!!
上篇文章:CSDN 我们介绍了JMeter的一些原理介绍,以及安装配置和启动流程,本文我们就来讲讲JMeter如何使用。 一、JMeter目录结构组成 1. 根目录 Jmeter安装包解压后的根目录如下图: 1.1 backups目录:脚本备份目录&am…...
Otter 安装流程
优质博文:IT-BLOG-CN 一、背景 随着公司的发展,订单库的数据目前已达到千万级别,需要进行分表分库,就需要对数据进行迁移,我们使用了otter,这里简单整理下,otter 的安装过程,希望对…...
一文学会Golang里拼接字符串的6种方式(性能对比)
g o l a n g golang golang的 s t r i n g string string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去。主要有以下几种拼接方式 拼接方式介绍 1.使用 s t r i n g string string自带的运算符 ans ans s2. 使用…...
【笔记】Linux下编译Python3.10.15为动态库同时正确处理OpenSSL3依赖
之前自己第一次编译Python后发现pip会提示无法使用SSL,后来了解到是自己编译时没有配置OpenSSL。这个过程有点曲折,里面有一个坑,怕忘记于是写博客记录一下。 首先是下载OpenSSL,Python3.10.15支持此时最新版的OpenSSL 3.4.0&…...
Go语言获取客户端真实IP
在一些需求中,服务器需要记录客户端的ip地址,要获取ip地址,则需要有http.Request的对象参数传入,以下代码直接放在util中使用。 文件名:ip_utils.go package utilsimport ("context""github.com/spf1…...
大模型论文速递(11.23-11.25)
BlueLM-V3B 关键词:动态分辨率,图像放大,适应性网格化方法 研究问题:如何改进现有的动态分辨率匹配方法以减少在模型训练和部署中的计算复杂度? 方法: 分析现有动态分辨率匹配算法(如LLaVA-…...
维护在线重做日志(二)
迁移和重命名 可以使用操作系统命令重新定位重做日志,然后使用ALTER DATABASE语句使数据库知道它们的新名称(位置)。这个过程是必要的,例如,如果当前用于一些重做日志文件的磁盘将被删除,或者如果数据文件…...
.net core MVC入门(一)
文章目录 项目地址一、环境配置1.1 安装EF core需要包1.2 配置数据库连接二、使用EF创建表2.1 整体流程梳理2.1 建表详细流程三、添加第一个视图3.1整体流程梳理3.1 添加视图,并显示在web里四、使用EF增加Catogory数据,并且读取数据到页面4.1整体流程梳理4.2 实现五、增加Cat…...
802.11协议
802.11协议是由美国电气和电子工程师协会(IEEE)制定的无线局域网(WLAN)标准。以下是关于802.11协议的详细介绍: 一、定义与背景 定义:IEEE802.11是美国电机电子工程师协会(IEEE)为…...
【Linux】线程ID与互斥、同步(锁、条件变量)
作者主页: 作者主页 本篇博客专栏:Linux 创作时间 :2024年11月24日 线程ID及进程地址空间布局 先看一下这段代码: 运行一下: 运行这个代码之后,我们看到的这个很大的数字就是线程id,然后…...
Android 13 编译Android Studio版本的Launcher3
Android 13 Aosp源码 源码版本 Android Studio版本 Launcher3QuickStepLib (主要代码) Launcher3ResLib(主要资源) Launcher3IconLoaderLib(图片加载,冲突资源单独新建) 需要值得注意的是: SystemUISharedLib.jar 有kotlin和java下的,在 Lau…...
burp功能介绍
声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…...
Android12 的 Vold梳理
1.代码位置 system/vold/ 路径下,查看bp文件,发现是编译system/vold/main.cpp编译生成可执行文件vold 2.app侧调用代码流程 2.1 整体框架 #mermaid-svg-lqO8phN62rKNW407 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#…...
[pdf,epub]162页《分析模式》漫谈合集01-35提供下载
《分析模式》漫谈合集01-35的pdf、epub文件,已上传至本号的CSDN资源。 如果CSDN资源下载有问题,可到umlchina.com/url/ap.html。 已排版成适合手机阅读,pdf的排版更好一些。 ★UMLChina为什么叒要翻译《分析模式》? ★[缝合故事…...
Vue2教程003:Vue指令之v-bind和v-for
文章目录 2.6 v-bind2.7 图片轮播案例2.8 v-for2.9 图书管理案例 2.6 v-bind 作用:动态设置html的标签属性->src、url、title…语法:v-bind:属性名"表达式" 动态设置img标签的src属性: <body> <div id"app&quo…...
Pathlib操作文件IN Python
系列文章目录 文章目录 目录 系列文章目录 文章目录 前言 一、Pathlib是什么? 二、使用步骤 前言 pathlib 是 Python 标准库中用于操作文件和目录路径的模块,自 Python 3.4 起引入。它提供了一种面向对象的方式处理路径,使路径操作更加简洁、…...
AOC显示器915Sw按键失灵维修记
大家好,我是 程序员码递夫 今天给大家分享的是自己维修老古董AOC液晶显示器按键失灵的的过程,实属DIY记录。 1、引子 家里有台老古董的19寸AOC液晶显示器(型号915Sw), 一直作为我的副显示器陪伴着左右,显示还正常&a…...
霍曼转移方法介绍
霍曼转移方法介绍 背景 在航天工程中,轨道转移是指航天器从一个轨道移动到另一个轨道的过程。为了高效利用燃料并缩短转移时间,科学家们开发了多种轨道转移方法。其中,霍曼转移(Hohmann Transfer)因其燃料效率高、计…...
我的创作之路:机缘、收获、日常与未来的憧憬
目录 前言机缘收获 日常成就一个优化后的二分查找实现 憧憬 前言 每个人的成长旅程都有它独特的轨迹,而我的这段技术创作之路,则源于一次再普通不过的项目分享。 机缘 一切的开始其实是偶然。在一次项目中,我遇到了一个棘手的问题…...
《硬件架构的艺术》笔记(六):处理字节顺序
介绍 本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。 定义 字节顺序定义数据在计算机系统中的存储格式,描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
