JMeter命令模式下动态设置线程组和持续时间等动态传参
背景:
1.当通过JMeter的图像化界面运行性能压测或者场景时候,JMeter界面很容易导致界面卡死或者无响应的情况(20个线程数就会卡死)
现象如下:
解决方案:
jmeter -n -t D:\apache-jmeter-3.0\bin\log.jmx -l D:\apache-jmeter-3.0\bin\log.jtl
此时线程数设置大一点,也不会卡死
2.当调试脚本或者运行场景时候,需要不断的调整线程数或者持续运行时间时候,需要先打开GUI界面,修改如下参数并保存
解决方案:
1.指定运行多少线程
我们知道JMeter测试计划在运行Sampler之前先加载运行属性(jmeter.properties,system.properties等),那么我们可以借助属性来完成。
当然了,我们也不会傻到去修改这些配置文件,这多麻烦。JMeter提供了方法可以动态修改属性,在命令行使用 -J 来指定JMeter Properties
使用__P() 函数来获取命令中指定的属性值。
实例如下:
jmeter -JthreadNum=20 -Jtime=300 -n -t D:\apache-jmeter-3.0\bin\log.jmx -l D:\apache-jmeter-3.0\bin\log.jtl
jmeter.bat -JthreadCount=2 -Jcycle=2 -n -t log.jmx -l log.jtl
threadNum=2为log.jmx测试计划要指定的线程数
-Jcycle=2为log.jmx测试计划要指定的每个线程的迭代次数
-Jtime=10为log.jmx测试计划要指定的持续运行时间
在log.jmx测试计划中用${__P(threadNum,)}来获取threadNum的值;${__P(cycle,)}来获取cycle的值,${__P(time,)}来获取time的值
运行效果如下:
拓展知识:
如果访问的目标地址变化了,端口也变化了,重新指定:
JMeter 命令行通过-D来指定System Properties,类似于Jdk中我们用-D来指定一些系统属性,比如开启JMX远程监控。
在JMeter脚本中我们用__property()函数来获取,比如-Durl=www.baidu.com在测试计划中用${__property(url,,)}来获取
运行命令如下:
jmeter.bat -JthreadCount=2 -Jcycle=2 -Durl=www.baidu.com -Dport=80 -n -t baidu.jmx -l baidu.jtl
脚本如下:
如上使用-J -D在运行前动态设置属性,可以用来控制测试计划的执行,在非GUI方式运行时还是比较方便的。
自然性能测试自动化时我们可以利用这些命令行参数来动态指定属性,不用再修改脚本了。
JMeter命令模式下动态设置线程组和持续时间等动态传参的更多相关文章
- JMeter非GUI方式运行时动态设置线程组及传参
http://blog.csdn.net/selingchen/article/details/48106517 在使用JMeter进行性能测试自动化时,可能会有如下需求: 1.指定运行多少线程,指定 ...
- JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)
在使用JMeter进行性能测试时,以下情况经常出现: 1.测试过程中,指定运行的线程数.指定运行循环次数不断改变: 2.访问的目标地址发生改变,端口发生改变,需要改写脚本. 上面的问题在GUI中,直接 ...
- Jmeter之设置线程组运行次数/时间
线程组的设置 线程组运行的次数=线程数*循环次数 Ramp-Up Period:表示启动时间 例如:线程数:10,循环次数:10,Ramp-Up Period:2 表示,这个线程组一共有100个线程( ...
- 转 2 jmeter常用功能介绍-测试计划、线程组
2 jmeter常用功能介绍-测试计划.线程组 1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...
- Jmeter系列(7)- 基础线程组Thread Group
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Thread Group基础线程组介绍 ...
- 【Linux基础】VI命令模式下删除拷贝与粘贴
在VI命令模式下:y 表示拷贝, d 表示删除,p标识粘贴 1.删除 dw 表示删除从当前光标到光标所在单词结尾的内容. d0 表示删除从当前光标到光标所在行首的内容. d$ 表示删除从当前光标到光标 ...
- 常用的vi的命令模式下的快捷命令
知识点 在VI命令模式下:y 表示拷贝, d 表示删除,p标识粘贴 1.删除 dw 表示删除从当前光标到光标所在单词结尾的内容. d0 表示删除从当前光标到光标所在行首的内容. d$ 表示删除从当前光 ...
- jmeter动态修改线程组参数
jmeter非gui模式修改线程属性进行性能测试 在使用JMeter进行性能测试自动化时,如果按照平常的非Gui模式就是脚本每次修改参数都需要在gui模式下修改保存之后,然后在非gui模式之后运行,这 ...
- Jmeter——如何使得token在各线程组间引用的游刃有余
在以前的博文中,有介绍过,jmeter基本的关联,关联就是将参数在各接口中动态传参,使得接口脚本变得灵活使用,非一次性脚本.今天再来介绍一种jmeter全局变量的设置与使用,可以让脚本运用更丰富,场景 ...
随机推荐
- 清北学堂Day2
算数基本定理: 1.整数及其相关 2.唯一分解定理 对于任意的大于1的正整数N,N一定能够分解成有限个质数的乘积,即 其中P1<P2<...<Pk,a1,a2,...,ak>= ...
- virtualBox centos 6.5 硬盘扩容
1. 操作virtual Box 将该虚拟机关机,然后将打开管理->介质管理 调整硬盘大小 2. 操作Linux 1. 将放大的进行分区建立 2. 将分区建立分区表 3. 将该分区合并到root ...
- Redmine简易安装与系统优化
安装版本为bitnami-redmine-2.6.5-0 ,用的Bitnami的一键安装包 . 下载地址https://bitnami.com/stack/redmine/installer 简要安装 ...
- python14 1.带参装饰器 | wrapper 了了解 # 2.迭代器 ***** # 可迭代对象 # 迭代器对象 # for迭代器 # 枚举对象
## 复习 '''函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 ...
- create table as 和create table like的区别
create table as 和create table like的区别 对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么 ...
- Java网络通信协议、UDP、TCP类加载整理
网络通信协议 网络通信协议 网络通信协议有很多种,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal传输控制协议/英特网互 ...
- C#使用ServiceStack读写Redis
通过C#第三方库向Redis存储数据遇到的几个问题 https://github.com/ServiceStack/ServiceStack.Redis 1.将对象转json字符串 JsonObjec ...
- phpstudy 安装Apache SSL证书实现https连接
Windows phpstudy安装ssl证书教程. 工具/原料 phpstudy 集成环境 申请的SSL证书 方法/步骤 首先申请免费的ssl证书,很多地方都可以申请.我是在腾讯云!如图 ...
- 深度学习在graph上的使用
原文地址:https://zhuanlan.zhihu.com/p/27216346 本文要介绍的这一篇paper是ICML2016上一篇关于 CNN 在图(graph)上的应用.ICML 是机器学习 ...
- get/post比较
转载: https://www.oschina.net/news/77354/http-get-post-different https://www.cnblogs.com/wswang/p/6054 ...