Jmeter系列(40)- 详解 Jmeter CLI 模式
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
什么是 CLI 模式
- CLI = Common Line,命令行模式,我们常说的 NON GUI 模式,无界面模式
- 真正做负载测试时,应该使用 CLI 模式运行,而不是 GUI
启动 Jmeter GUI 时的提示
使用 jmeter.bat 运行时会有一个 cmd 窗口
官方也说了
负载测试不要用 GUI 模式,GUI模式仅用于创建测试计划和调试脚本
增加 Java 堆空间来满足你的测试环境(后面再讲解)
用 CLI 模式的好处
将系统大部分资
CLI 模式可选参数
字段 | 含义 |
---|---|
-n | 指定 JMeter 将在 cli 模式下运行 |
-t | 包含测试计划的 jmx 文件名称 |
-l | 记录测试结果的 jtl 文件名称 |
-j | 记录 Jmeter 运行日志的文件名称 |
-g | 输出报告文件( .csv 文件) |
-e | 生成 html 格式的测试报表 |
-o |
|
服务器相关参数
字段 | 含义 |
---|---|
-H | 代理服务器的 host 或 ip |
-P | 代理服务器的 port |
-r | 指定所有远程服务器中运行测试 |
-R | 在指定的远程服务器中运行测试 |
-X | 服务器运行完脚本后自动停止 jmeter-server |
属性参数
Java 系统属性和 JMeter 属性可以直接通过以下命令进行覆盖,而不用手动修改 jmeter.properties
格式 | 含义 |
---|---|
-D[prop_name]=[value] | 定义一个 Java 系统属性值 |
-J[prop_name]=[value] | 定义本地 JMeter 属性 |
-G[prop_name]=[value] | 定义要发送到所有远程服务器的 JMeter 属性 |
-G[propertyfile] | 定义一个包含 JMeter 属性的文件,该文件将发送到所有远程服务器 |
-L[category]=[priority] |
|
栗子一
jmeter -n -t FlaskDemo.jmx -l result/report.jtl
- 执行 FlaskDemo.jmx 脚本,并在 result 目录下生成 report.jtl 报告
- report.jtl 存在也没关系,可以自动覆盖
栗子二
jmeter -n -t FlaskDemo.jmx -l result/report.jtl -e -o report
- 执行 FlaskDemo.jmx 脚本
- 在 result 目录下生成 report.jtl 报告
- 最后在 report 目录下生成测试报表文件夹
- 切记: report.jtl 必须不存在, report 目录必须不存在或者为空
后面再用一篇文章详细讲解 HTML 报告的细节
栗子三
jmeter -g report.jtl -o report
- 将 .jtl 文件转换为 .html 文件,并保存到 report 文件夹中
- 类似栗子二,只不过跳过了执行 .jmx 文件的步骤,直接将 .jtl 文件转换为 .html 文件
和栗子二的结果一样
在 Jmeter GUI 中有一个类似的功能
点击 Tools
选好 jtl 文件,properties 配置文件,存放 HTML 报告的文件夹
栗子四
jmeter -n -t FlaskDemo.jmx -r -l result/report.jtl
启动所有远程 slave 机执行 FlaskDemo.jmx ,并在 result 目录下生成 report.jtl
重点
会执行 jmeter.properties 的 remote_hosts 填的所有远程 slave 机,这里有两台:一台是虚拟机,另一台是本机也充当 slave 机
master 机
虚拟 slave 机
本地 slave 机
栗子五
jmeter -n -t FlaskDemo.jmx -l result/report.jtl -R 172.20.::,127.0.0.1:
启动指定的远程 slave 机执行 FlaskDemo.jmx ,并在 result 目录下生成 report.jtl
和 -r 不一样, -R 是指定slave机的,并不是所有 slave 机
master 机
slave 机
栗子六
jmeter -n -t FlaskDemo.jmx -l result/report.jtl -R 172.20.:: -X
跟栗子五的基本一样,只不过加了 -X,让远程服务器在执行完脚本后自动退出 jmeter-server
master 机
跑了两次,第一次没有 -X,第二次加了 -X
slave 机
当然想一劳永逸的话
可以将属性 jmeterengine.remote.system.exit 设置为 true(默认值为 false ),则 JMeter 将在测试结束后停止 RMI 之后调用 System.exit(0),但不建议这样
Jmeter系列(40)- 详解 Jmeter CLI 模式的更多相关文章
- JMeter学习笔记--详解JMeter配置元件
JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...
- JMeter学习笔记--详解JMeter逻辑控制器
JMeter使用逻辑控制器来决定采样器的处理顺序 简单控制器(Simple Controller):存储设备(将某些采样器归组) 循环控制器(Loop Controller:设置循环次数 仅一次控制器 ...
- JMeter学习笔记--详解JMeter定时器
定时器的处理优先于同一作用域内的采样器,如果在同一作用域内有多个定时器,那么所有的定时器都会在每个采样器之前处理. 若定时器所在作用域内无采样器,那么定时器不会被处理 固定定时器,每个线程在请求之间间 ...
- 详解JMeter正则表达式
详解JMeter正则表达式(1) 1.概览 JMeter中包含范本匹配软件Apache Jakarta ORO .在Jakarta网站上有一些关于它的文档,例如a summary of the pat ...
- Jmeter常用功能详解
嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅
- Jmeter 测试计划元素详解
Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...
- jmeter --响应断言详解
jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
- 详解JMeter函数和变量(转载)
详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var ...
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) 背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...
随机推荐
- 制作seata docker镜像
seata是阿里巴巴的一款开源的分布式事务框架,官方已经支持docker了,但是因为业务的需要,需要自己定制. 制作docker镜像 官方的Dockerfile.下载seata-server-1.1. ...
- InstallShield 2015 Limited Edition 打包教程
InstallShield 2015 Limited Edition 打包教程 右键解决方案,新增项目,选择其他项目类型,安装和部署. InstallShield2015可以免费使用,但需要下载.安装 ...
- 如何在本地搭建微信小程序服务器
现在开发需要购买服务器,价格还是有点贵的,可以花费小代价就可以搭建一个服务器,可以用来开发小程序,博客等. 1.域名(备案过的) 2.阿里云注册免费的https证书 3.配置本地的nginx 4.内网 ...
- DML_Data Modification_INSERT
Data Modification (INSERT.DELETE.UPDATE.MERGE)之INSERT(基础知识,算是20年来第2次学习MSSQL吧,2005年折腾过一段时间的Oracle)INS ...
- MySQL LIMIT:限制查询结果的记录条数
基本的语法格式如下: <LIMIT> [<位置偏移量>,] <行数> LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第 ...
- Java收徒,高级架构师关门弟子
最近感悟天命,偶有所得,故而打算收徒若干,以继吾之传承. 有缘者,可破瓶颈,走向架构师之峰,指日可待. 拜师要求: 1.工作经验:1年或以上. 2.入门费用:10000元(RMB). 联系方式(联系时 ...
- Python实现梯度法(最速上升(下降)法)寻找函数极大(极小)值
首先简介梯度法的原理.首先一个实值函数$R^{n} \rightarrow R$的梯度方向是函数值上升最快的方向.梯度的反方向显然是函数值下降的最快方向,这就是机器学习里梯度下降法的基本原理.但是运筹 ...
- matplotlib浅析
首先放出matplotlib的中英文文档: 中文:https://www.matplotlib.org.cn/ 英文:https://matplotlib.org/3.1.1/index.html M ...
- VS Code WebApi系列——1、配置
Knowledge should be Shared in Free. 最近在研究VS code下的webapi,看了很多文档,还是微软官方的例子好,不过不太适应国人习惯,所以写点东西. 直接了当 开 ...
- 力扣:二叉树着色游戏(DFS详解)
有两位极客玩家参与了一场「二叉树着色」的游戏.游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同. 游戏从「一号」玩家开始(「一号 ...