【测试工具JMeter篇】JMeter性能测试入门级教程(二)出炉,测试君请各位收藏了!!!

devtools/2024/11/26 14:27:00/

上篇文章: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里面去

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


http://www.ppmy.cn/devtools/137138.html

相关文章

GitCode 平台设置访问令牌 从而git仓库(附pycharm创建版本控制项目)

GitCode 背靠CSDN搞了国产的git平台,但在实际使用过程中,我直接感受就是坑爹!在查找用户令牌(账号密码)这一基本功能上,因为是csdn直接登录跳转过去的用户令牌,没有设置过密码,默认就…

【软考速通笔记】系统架构设计师④——系统工程基础知识

文章目录 一、前言二、系统工程方法2.1 霍尔的三维结构2.2 切克兰德法2.3 并行工程2.4 综合集成法 三、系统工程生命周期四、系统生命周期方法五、系统性能5.1 计算机的性能指标5.2 路由器的性能指标5.3 交换机的性能指标5.4 网络的性能资料5.5 操作系统的性能指标5.6 数据库的…

云网络基础- TCP/IP 协议

文章目录 典型服务模式TCP/IP 协议设置和查看IPIP地址的分类:IP地址组成: 网络位主机位组成克隆:产生一台新的虚拟机win2008 典型服务模式 • C/S,Client/Server架构 – 由服务器提供资源或某种功能 – 客户机使用资源或功能 TCP/IP 协议 • TCP/IP是最广泛支持的通信协议集合…

线性代数在人工智能领域中的实践

一、机器学习中的线性代数应用 在机器学习中,线性代数主要用于构建和训练各种模型,如线性回归、逻辑回归、支持向量机等。这些模型在数据的特征提取、降维处理以及分类等方面发挥了重要作用。 线性回归:线性回归是最简单的机器学习算法之一…

使用 F5 TTS 文字转音频

F5 TTS 支持 ZeroShot 音频克隆,只有将需要音频传给模型,模型既可以生成以对应声音生成的音频,F5 最强大的地方就是可以使用定制的人声。F5 使用了 DIT 架构进行训练,结构如下: 本地使用 F5 TTS F5 使用很简单&#x…

BCSD_SOTA

1. BINARY 实验用到的二进制代码保存在,"BCSD_SOTA\Binaries\Dataset-1" 路径下。这些二进制代码主要来自 bzip2 与 brotli 两个开源项目,两个项目分别被编译为 x86、x86、arm 三种不同指令集架构,同时以O0、O1、O2、O3 四种编译优…

【JS】String、Object、Array常用方法

String const str1 Hello; const str2 World; 方法名字方法使用返回参数返回concat 连接一(多)个字符串str2.concat(, , str1)"World, Hello"列举要连接的字符串返回新字符串startsWith判断是否以指定字符串开头 str1.startsWith(H) str1.…

uni-app初学笔记:文件路径与作用

components:可复用的组件pages:页面(可见/不可见)static:静态资源,存放图片视频等 (相当于vue项目的 assets)mainjs:Vue初始化入口文件App.vue:应用配置,用来配置App全局样式以及监听pages.json :配置页面路…