性能测试 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.hqwc.cn/news/625557.html

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

相关文章

什么样的开放式耳机好用?五大红榜超值机型力荐!

今年,市场上涌现出众多备受瞩目的开放式耳机产品,面对如此众多的选择,如何挑选出一款性能卓越、音质出色的开放式耳机,无疑成为了消费者们关注的焦点。传统的入耳式耳机虽然有其优势,但长时间佩戴往往会导致耳朵红肿胀…

STM32的GPIO端口的八种模式解析

目录 STM32的GPIO端口的八种模式解析 一、上拉输入模式 二、下拉输入模式 三、浮空输入模式 四、模拟输入模式 五、推挽输出模式 六、开漏输出模式 七、复用推挽输出模式 八、复用开漏输出模式 STM32的GPIO端口的八种模式解析 在学习STM32的过程中,GPIO端口…

LeetCode——965. 单值二叉树

题目- 力扣(LeetCode) 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。 示例 1: 输入:[1,1,1,1,1,null,1] 输出&a…

YOLO-World: Real-Time Open-Vocabulary Object Detection 简介+安装+运行+训练(持续更新)

前言 YOLO_WORLD太牛了!!众所周知,传统是视觉目标检测一旦训练好后,如果我们需要增加新的识别目标的话,必须得重新训练模型。在生产中如果经常要新增检测目标,对时效性影响很大,而且随着数据量…

算法思想总结:链表

一、链表的常见技巧总结 二、两数相加 . - 力扣(LeetCode) class Solution { public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {//利用t来存进位信息int t0;ListNode*newheadnew ListNode(0);//创建一个哨兵节点,方便尾插List…

pip如何查看Python某个包已发行所有版本号?

以matplotlib包为例子, pip install matplotlib6666 6666只是胡乱输入的一个数,反正输入任意一个不像版本号的数字都可以~ matplotlib所有版本号如下, 0.86, 0.86.1, 0.86.2, 0.91.0, 0.91.1, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.2.1…

女上司问我:误删除PG百万条数据,可以闪回吗?

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验 擅长主流数据Oracle、MySQL、PG、openGauss运维 备份恢复,安装迁移,性能优化、故障应急处理等可提供技术业务: 1.DB故障处理/疑难杂症远程支援 2.Mysql/PG/Oracl…

在 Vuex 中使用 TypeScript 时,如何有效地处理异步 action 和 mutation?

在 Vuex 中使用 TypeScript 处理异步 action 和 mutation 时,可以利用 TypeScript 的类型系统来确保类型安全和提高代码的可读性。以下是一些有效处理异步操作的方法: 定义异步 action 的类型: 使用 TypeScript 的泛型来定义 action 的 conte…

【RPC】

1. 什么是RPC框架 RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允许调用不同进程空间的程序。RPC 的客户端和服务器可以在一台机器上,也可以在不同的机器上。程序员使用时,就像调用本地程序一样,无…

在BIM建筑中你一定用过的功能

AMRT3D数字孪生引擎https://www.amrt3d.com/#/ 为了让用户获得更好的使用体验,引擎需要经过反复的迭代和优化。在这背后,是AMRT3D团队怀揣匠心,扎根市场应用,并不断推出系列“亮点”功能。此次V1.3.1版本,更是针对BIM…

高效可扩展,使用Dask进行大数据分析

大家好,Dask技术作为并行计算领域的创新力量,正在重塑大数据的处理模式。这项开源项目为Python语言带来了强大的并行计算能力,突破了传统数据处理在扩展性和性能上的瓶颈。 本文将介绍Dask的发展历程、架构设计,并分析其在大数据…

分享|temu电商项目能成为2024年的新风口吗?

随着互联网的蓬勃发展,电商行业不断涌现出新的机遇和挑战。抖音上的知名网红阳哥近期推荐的temu电商项目,引发了广泛关注。那么,temu电商项目能否成为2024年的新风口呢?本文将从多个维度进行探讨。 temu电商项目以其独特的社交电商模式&…