Jmeter命令行执行脚本如何设置动态参数
作者:zzz紫川 发布时间:2021-07-09 20:39:49
最近看到在Linux上折腾jmeter的人越来越多,不过即使在windows上,jmeter的脚本我还是建议用命令行来执行(降低GUI模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓)。做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持续时间等),而每次修改-->保存-->cmd中运行总感觉麻烦,那就找一种方法可以在命令行中直接指定参数的值。
查看相关资料实操,可以发现JMeter的测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行中使用【-J】 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值,那么方法就出来了。
配置说明:
1、并发数设置为${__P(concurrent_number,1)},循环次数取消勾选Forever,设置为${__P(cycles,1)},其中后面的1是默认值,作用是执行一次来调试脚本,这是__P函数的功能(虽然我一直都是用GUI模式来调试脚本的)
2、执行时长设置为${__P(duration,60)},默认1分钟(60s),如果同时设置了循环次数和执行时长,那么满足其中一个条件脚本就会停止。
那么先试试吧,默认执行脚本,命令行如下:
jmeter -n -t \tmp\cnblgo.jmx(脚本的绝对路径)
从上图可以看出,脚本执行了一次,持续了0.7s,是OK的。
查看Jmeter的源码,可知执行次数=-1时即表示Forever。以50并发执行120s的命令行如下:(为了直观,我直接生成测试报告用web界面的形式看,否则-l后面的可以不写)
jmeter -n -t C:\Users\zhoulinjie\Desktop\cnblgo.jmx -Jconcurrent_number=50 -Jduration=120 -Jcycles=-1 -l report.jtl -e -o C:\Users\zhoulinjie\Desktop\report
打开生成的测试报告文件,index.html,如下:
还有其他的组合就不截图了,需要什么参数,直接用-J+${}+__P()即可。同理,线程组界面中的Ramp-Up Period(in seconds)也是可以通过这种方式设置的。
来源:https://www.cnblogs.com/zichuan/p/11262997.html


猜你喜欢
- 前言在开发过程中,会遇到很多的实体需要将查出的数据处理为下拉或者级联下拉的结构,提供给前端进行展示。在数据库查出的结构中,可能是集合<
- 集成配置步骤步骤1:加入 Maven 相关依赖<!-- 指定 Springboot 版本 --><parent> &
- 我就废话不多说了,大家还是直接看代码吧~package com.zejian.annotationdemo; import java.lan
- 1.spring boot * 默认有:HandlerInterceptorAdapterAbstractHandlerMappingUse
- 最近看代码,由于代码的调用层级深度比较多,层层深入到某处时,已经忘记了身处何处,虽然自己可以使用一些画图工具来时序图,但是,这种情况下,自己
- 一、需求分析最近公司项目要实现一个需求要满足以下功能: 1)显示一个 list
- 示例代码本文分析示例代码如下:launch(Dispatchers.Main) { flow { em
- 一、Widget设计步骤需要修改三个XML,一个class:1.第一个xml是布局XML文件(如:main.xml),是这个widget的。
- 本文实例为大家分享了使用PageHelper插件实现Service层分页的具体代码,供大家参考,具体内容如下使用场景:平时分页我们可以直接使
- stack介绍和使用stack文档介绍stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插
- 1. 概述为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。2. 模式中的角色2.1 外
- 引言近期,Google 发布了 Android 11的平台稳定版本。Android 11 将在确保用户隐私安全的前提下,更好地让用户畅享最新
- 持久化类Hibernate的整个概念是采取从Java类属性的值,并将持久到数据库表。一个映射文件Hibernate的帮助确定如何从拉动类的值
- 当你在使用Mybatis 时进行配置的时候有这样几个坑一定要注意下。mybatisplus中逻辑删除通俗说为了在数据库中保留数据,但是又不想
- 最近在开发的过程中,一个列表的查询,涉及到了多表的关联查询,由于持久层使用的是mongodb,对这个非关系型数据使用的不是很多,所以在实现此
- 先看下这个问题的背景:假设有一个spring应用,开发人员希望自定义一个注解@Log,可以加到指定的方法上,实现自动记录日志(入参、出参、响
- 经过一番搜索发现,java操纵excel文件常用的有jxl和poi两种方式,孰好孰坏看自己需求而定。其中最主要的区别在于jxl不支持.xls
- 解决方法有如下两种:第一种如果你 repo sync 了 android 的整个源码,那么可以直接把你的 app 放到 /packages/
- using System;using System.Web;using System.Web.Security;namespace Auth
- 前言最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收获也很大