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和缓存(入坑出坑) 背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...
随机推荐
- hibernate 用注解方式生成uuid方法
//配置uuid,本来jpa是不支持uuid的,但借用hibernate的方法可以实现. @GeneratedValue(generator = "uuid") @Generate ...
- vue + elementUI开发,使用el-tabs,导致浏览器卡死问题。
第一次自己建项目,用过el-tabs,当时是正常使用的. 贴下版本信息: "element-ui": "^2.13.0", "js-md5" ...
- vj提交时常见问题
- JDK Base64编解码1.7和1.8的坑
场景 对接一个第三方api接口,其中签名部分用的是JDK8的编码.我们线上采用JDK7,导致项目无法编译 替换编解码部分为1.7的代码,然后签名又不对 所以坑就在这里,结论,1.7的编解码有换行符导致 ...
- 2w字长文!手撸一套 Java 基础面试题
Java 基础篇 Java 有哪些特点 并发性的: 你可以在其中执行许多语句,而不必一次执行它 面向对象的:基于类和面向对象的编程语言. 独立性的: 支持一次编写,到处运行的独立编程语言,即编译后的代 ...
- Magic Line【坐标点排序方法】
Magic Line 题目链接(传送门) 来源:牛客网 题目描述 There are always some problems that seem simple but is difficult to ...
- 为避免种族歧视,谷歌Chrome将不再使用“黑名单”等词
GitHub 15.2k Star 的Java工程师成神之路,不来了解一下吗! GitHub 15.2k Star 的Java工程师成神之路,不来了解一下吗! 近日,美国黑人乔治‧佛洛伊德(Georg ...
- 4.kubernetes的服务发现插件-CoreDNS
1.1.部署K8S内网资源清单http服务 1.2.部署coredns 部署K8S内网资源清单http服务 在运维主机HDSS7-200.host.com上,配置一个nginx虚拟主机,用以提高k8s ...
- Mac OS 生成 icon 和 ico 文件
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 1. 生成 IC ...
- elasticsearch中query和filter的区别
参考博客来自: https://mp.weixin.qq.com/s/tiiveCW3W-oDIgxvlwsmXA?utm_medium=hao.caibaojian.com&utm_sour ...