性能测试 Jmeter 非 GUI 模式 -CLI 命令详解

 


我们在使用Jmeter做性能测试的时候,大部分同学用的是图形化界面进行脚本编写和执行性能测试的。但是其实真正在公司执行性能测试的时候,我们基本上不会用图形化界面去执行测试,这是因为工具渲染这些图形本身会让Jmeter结果存在很多不稳定的因素。

所以,我们在真正运行性能测试的时候,不会用图形化界面的方式去运行,都会用CLI的命令行模式运行。


CLI命令的参数

所谓CLI命令,可以兼容各个系统平台,比如windows可以通过cmd来执行,Linux和mac电脑都可以通过终端命令行执行。所以,CLI命令执行也可以很方便进行跨平台运行。

CLI命令执行Jmeter脚本的常见参数如下:

图片

windows和mac系统实战

通过异常的参数,CLI命令的常用样例:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
准备工作:需要在客户机上先安装好jdk和Jmeter ,jmx脚本最好是win的图形界面写好,并调试通没有问题,再上通过CLI去执行。
在windows下执行一个jmx脚本的命令:
jmeter.bat -n -t kyj项目.jmx -l vip16\jtl\001.jtl -e -o vip16\report

注意,以上的命令中:

  • -l:后面的文件是生成的jtl结果文件,这和文件名必须不存在,如果已经存在,就会报错。

  • -o:后面的目录也必须为空,有内容也会报错。

  • -e:是用来生成报表报告的,生成的报告结果文件会存在-o后面的文件夹里。

在linux系统下用cli命令执行jmx脚本:

注意问题:要在Linux上执行jmx脚本,一般会先在windows系统上用图形化界面工具编写和调试好脚本;然后整个Jmeter工具包和脚本都一起同步到Linux系统里。

执行的命令跟windows略微有差别:

./jmeter.sh -n -t kyj项目.jmx -l report-template/nungui.jtl 
  • Linux里执行命令用的是jmeter.sh这个可执行文件;

  • 注意问题:有可能这个jmeter.sh文件没有执行权限, 所以要先赋权:chmod 777 jmeter.sh ,然后再执行。

  • 后面的参数使用跟windows 是一致的。

图片

查看测试结果

不管通过哪个平台执行CLI命令,都可以通过两种方式看到测试结果:

方式一:屏幕刷新显示测试结果数据

图片

以上的每行数据会默认5s左右会刷新结果显示。刷新出来的结果日志的解析如下:

  • summary+ 是开始这个时点的报告。

  • summary= 是总结它之前的报告,呈现出的是当前时点之前总的情况,通常是均值;

  • 最后一个summary=是本次压测总的情况,如果脚本按时正常结束的话,最后一次summary里面的值应该和你从GUI打开聚合报告或概括报告的值一致。

图片

  • 其他的数据以第三行数据为例:

  • 65是发出的请求数目,在29s的时间发了65个请求;

  • 2.2/s是每秒发出的2.2个请求【65个请求/29s时间=-2.2】,也就是TPS;

  • 后面的Avg, Min, Max分别是平均响应时间,最小响应时间和最大响应时间,响应时间指的是从请求发出到收到响应的时间,单位是ms;

  • Err后面跟的数据分别是错误数和错误比例。

  • Active是在线并发用户数,Started是启动的用户数,Finished是完成用户数。只有summary+ 后面有,是此刻时间点的瞬时数据。

方式二:通过jtl直接生成测试报告html的测试报告

生成HTML的测试报告的两种方式:

1、直接通过jtl文件去生成:jmeter -g report.jtl -o dictreport

  • 把结果转换为html文件到dictreport文件夹

  • 注意:-o后面的dictreport 文件夹必须为空

[root@centos7 bin]# ./jmeter.sh -g report-template/nungui.jtl -o report1

生成的测试报告如下:

图片

2、自动生成报告:直接生成jtl文件和报告文件。

./jmeter.sh -n -t 性能脚本/性能公开课.jmx -l result1.jtl -e -o resultreport001

通过以上命令也会在指定目录下生成html的报告文件。

图片

这个index.html文件可以直接在浏览器里打开就可以看到详细的性能测试报告展示了:

图片

在这个html的详细测试报告里可以看到非常多详细数据统计结果,不过最需要关心是以下几个:

1、dashboard里显示的基本信息数据:

图片

  • Apdex: 用户满意度指数 最大值是1默认响应时间:满意时间为500ms以内是满意的, 500-1500ms以内,是可接受的,大于1500ms就是不能接受。

这个满意度指数越接近于1,说明越多的请求响应时间小于500ms,用户越满意。

2、聚合统计数据:Jmeter的聚合报告跟上图是一样的。

图片

3、平均响应时间:html报告中,取点,默认是1分钟1个点。可以展示性能过程中RT的数据。这个是我们非常关心的图表数据。

图片

4、TPS的图表数据,可以显示TPS的趋势,用于分析服务器的处理事务的能力。

图片

5、在线线程数,可以看到不同时间里的并发用户数。

图片

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/821549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FMEA赋能可穿戴设备:打造安全可靠的未来科技新宠!

在科技日新月异的今天,可穿戴设备已成为我们生活中不可或缺的一部分。它们以其便携性、智能化和个性化的特点,深受消费者喜爱。然而,随着可穿戴设备市场的快速扩张,其安全性和可靠性问题也日益凸显。为了确保产品质量,…

微信小程序全局配置

全局配置文件及常用的配置项 小程序根目录下的 app.json 文件是小程序的全局配置文件。常用的配置项如下: ① pages 记录当前小程序所有页面的存放路径 ② window 全局设置小程序窗口的外观 ③ tabBar 设置小程序底部的 tabBar 效果 ④ style 是否启用新版的组件样…

图灵奖2023:Avi Wigderson的开创性贡献揭示计算中的随机性和伪随机性

文章目录 每日一句正能量前言背景什么是理论计算机科学?为什么随机性很重要?三篇影响深远的论文Avi Wigderson在计算复杂性理论方面的贡献及其对现代计算的影响Avi Wigderson对随机性和伪随机性在计算中作用的理解及其实际应用Avi Wigderson的学术生涯和…

Spring、SpringMVC、SpringBoot核心知识点(持续更新中)

Spring、SpringMVC、SpringBoot核心知识点(持续更新中) Spring Bean 的生命周期Spring 的 IOC 与 AOPSpring Bean 循环依赖Spring MVC 处理请求的过程Spring Boot 自动装配原理Spring Boot 启动流程 Spring Bean 的生命周期 参考文章:一文读…

HBase的数据模型与架构

官方文档:Apache HBase – Apache HBase™ Homehttps://hbase.apache.org/ 一、HBase概述 1.概述 HBase的技术源自Google的BigTable论文,HBase建立在Hadoop之上,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于…

mac上 Sublime Text 无法使用 Package Control

我也不知道什么时候用不了的,平时就是用来看看文本文件,因为觉得这个玩意真的很快 今天想安装一个包,发现 cmd shift P 是出来那个窗口了,但是输入什么都没反应,于是在 github 上找到了解决方案 打开终端执行以下命…

vivado 在硬件管理器中调试 AXI 接口

在硬件管理器中调试 AXI 接口 IP integrator 中的 System ILA IP 支持您在 FPGA 上对设计执行系统内调试。在 Versal 器件上 , System ILA 核已被废 弃。现在 , 在含 AXIS 接口的标准 ILA 中支持接口调试。如需监控 IP integrator 块设计中的…

安达发|体育产业体育装备生产车间APS排产软件

在体育产业中,体育装备的生产是保障运动员成绩和安全的关键一环。随着市场需求的多样化和个性化,传统的生产排程方法已经难以满足现代体育装备生产的复杂性和灵活性。因此,应用高级排产软件(APS)进行生产计划和控制成为…

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型)

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型) RD77MS2用户手册,RD77MS2外部连接,RD77MS2规格。RD77MS2参数说明:2轴;SSCNETⅢ/H连接,位置控制、同步控制、速度.转矩控制、轨迹控制;控制单位mm、inch、degree、pulse;定位数据600数据轴。 RD77MS2图…

APIGateway的认证

APIGateway的支持的认证如下: 我们从表格中可以看到,HTTP API 不支持资源策略的功能,另外是通过JWT的方式集成Cognito的。 对于REST API则是没有显示说明支持JWT认证,这个我们可以通过Lambda 自定义的方式来实现。 所以按照这个…

AR、VR、MR 和 XR——它们的含义以及它们将如何改变生活

我们的工作、娱乐和社交方式正在发生巨大变化。远程工作的人比以往任何时候都多,屏幕已成为学习和游戏的领先平台。这种演变为元宇宙铺平了道路——如今,像 Meta Quest 2 这样的流行设备将您无缝地带入一个身临其境的世界,您可以在其中购物、创作和玩游戏、与同事协作、探索…

Ubuntu 部署ChatGLM3大语言模型

Ubuntu 部署ChatGLM3大语言模型 ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。 源码:https://github.com/THUDM/ChatGLM3 部署步骤 1.服务器配置 Ubuntu 20.04 8核(vCPU) 32GiB 5Mbps GPU NVIDIA T4 16GB 硬盘 100GiB CUDA 版本 12.2.2/…

适用于 Windows 的 10 个顶级 PDF 编辑器 [免费和付费]

曾经打开PDF文件,感觉自己被困在数字迷宫中吗?无法编辑的文本、无法调整大小的图像以及签署感觉像是一件苦差事的文档?好吧,不用再担心了!本指南解开了在 Windows 上掌握 PDF 的秘密,其中包含 10 款适用于 …

04 MySQL --DQL 专题--Union、exists

1. UNION、UNION ALL UNION 关键字的作用? 合并两个或多个 SELECT 语句的结果。发挥的作用与 or 非常相似 UNION关键字生效的前提? 每个 SELECT 语句必须拥有相同数量的列。每个 SELECT 语句中的列的顺序必须相同。列必须拥有相似的数据类型。 SELEC…

Hyperledger Fabric

一.Hyperledger Fabric介绍 Hyperledger区块链全家桶 Hyperledger Fabric技术特性 资产 — 资产定义使得几乎任何具有货币价值的东西都可以在网络上交 换,包括从食品到古董汽车再到货币期货。链码 — 链码执行与交易排序的分离,限制了跨节点类型所需的…

pytorch 今日小知识3——nn.MaxPool3d 、nn.AdaptiveAvgPool3d、nn.ModuleList

MaxPool3d — PyTorch 2.2 documentation 假设输入维度(1,2,3,4,4) maxpool torch.nn.MaxPool3d(kernel_size(2, 2, 2), stride(2, 2, 2), padding(1, 0, 0))F 维的 kernel_size 为 2,说明在 F 维的覆盖的 frame 数为 2,也就是…

通过Maven导入本地jar包

1.创建lib文件夹,把jar包放到文件夹里面 2.在pom里导入依赖 导入完成

LangChain-Chatchat 开源知识库来了

LangChain-Chatchat 开源知识库来了 LangChain-Chatchat 架构设计LangChain-ChatChat 具体实现过程 一键本地离线部署软件环境硬件环境支持三种部署方式 LangChain-Chatchat 是基于 ChatGLM 等大语言模型与 LangChain 等应用框架实现,开源、可离线部署的 RAG 检索增…

Achronix FPGA增加对Bluespec提供的基于Linux的RISC-V软处理器的支持,以实现可扩展数据处理

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC 2024年4月——高性能FPGA芯片和嵌入式FPGA(eFPGA)硅知识产权(IP)领域的领先企业Achronix半导体公司,以及RISC-V工具和IP领域的行业领导者Blues…

ASP.NET MVC中Filter过滤器的使用

MVC Filter是典型的AOP(面向切面编程)应用,在ASP.NET MVC中的4个过滤器类型,如下: 但是默认实现它们的过滤器只有三种,分别是ActionFilter(方法),Authorize(授…