性能测试 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赋能可穿戴设备:打造安全可靠的未来科技新宠!

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

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题

旧版本模式: # 以下inputTag任选其一,其他注释掉 inputTag driver.find_element_by_id("value") # 利用ID查找inputTags driver.find_element_by_class_name("value") # 利用类名查找inputTag driver.find_element_by_name(&q…

微信小程序全局配置

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

java实现根据sql动态下载数据到excel

需求 由于生产数据库不能直接连接下载数据,所以需要在监控系统上做一个根据sql动态查询并下载数据的功能。 实现思路 写一个接口,传入需要查询的数据库信息和sql,将查询的接口导出到Excel中 实现细节 入参 Data public class ExportDat…

递推算法4(c++)

判断整除 题目描述 一个给定的正整数序列,在每个数之前都插入号或−号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (1) (2) (4) 7 (1) (2) (-4) -1 (1) (-2) (4) 3 (1) (-2) (-4) -5 (-1) (2) (4) 5 (-1) (2…

Mint Ubuntu 使用 docker compose 创建容器

1.安装 docker docker-compose sudo apt install docker.io sudo apt-get install docker-compose sudo usermod -aG docker $USER sudo systemctl daemon-reload sudo systemctl restart docker 2.配置国内 docker 镜像源 修改/etc/docker/daemon.json,增加或者…

图灵奖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)进行生产计划和控制成为…

微服务中Dubbo通俗易懂讲解及代码实现

当你在微服务架构中需要不同服务之间进行远程通信时,Dubbo是一个优秀的选择。Dubbo是一个高性能的Java RPC框架,它提供了服务注册、发现、调用、负载均衡等功能,使得微服务之间的通信变得简单而高效。 让我们来看一下Dubbo的通俗易懂的解释和…

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图…

OpenXR手部跟踪接口与VIVE OpenXR扩展详细解析

随着虚拟现实技术的发展,手部跟踪已成为提高沉浸感和交互性的关键技术。OpenXR标准为开发者提供了一套手部跟踪的扩展接口,特别是针对VIVE设备的特定实现。以下是这些接口和类的详细解释: 1. VIVE.OpenXR.Hand VIVE.OpenXR.Hand 是HTC VIVE…

APIGateway的认证

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

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

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

.NET/C#汇总 —— WPF

1.WPF由哪两部分组成? wpf 由两个主要部分 组成:引擎和编程框架。 1 引擎。wpf引擎是基于窗体的应⽤程序 图形 视频 ⾳频和⽂档提供了⼀个单⼀的运⾏时库。重要的是 WPF基于⽮量的呈现引擎使应⽤程序可以灵活地利⽤⾼DPI监视器,⽀持图形的硬件加速。2 框架。WPF框架为媒体 …

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/…