前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter系列(40)- 详解 Jmeter CLI 模式

Jmeter系列(40)- 详解 Jmeter CLI 模式

作者头像
小菠萝测试笔记
发布2020-07-10 10:01:20
1.3K0
发布2020-07-10 10:01:20
举报
文章被收录于专栏:自动化、性能测试

什么是 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]

覆盖日志记录设置,将特定类别设置为给定的优先级 设置根日志记录级别

  • 覆盖日志记录设置,将特定类别设置为给定的优先级
  • 设置根日志记录级别

栗子一

代码语言:javascript
复制
jmeter -n -t FlaskDemo.jmx -l result/report.jtl
  • 执行 脚本,并在 result 目录下生成 report.jtl 报告

FlaskDemo.jmx

  • 存在也没关系,可以自动覆盖

report.jtl

栗子二

代码语言:javascript
复制
jmeter -n -t FlaskDemo.jmx -l result/report.jtl -e -o report
  • 执行 脚本

FlaskDemo.jmx

  • 在 result 目录下生成 报告

report.jtl

  • 最后在 report 目录下生成测试报表文件夹
  • 切记: 必须不存在, report 目录必须不存在或者为空

report.jtl

后面再用一篇文章详细讲解 HTML 报告的细节

栗子三

代码语言:javascript
复制
jmeter -g report.jtl -o report
  • 将 文件转换为 .html 文件,并保存到 report 文件夹中

.jtl

  • 类似栗子二,只不过跳过了执行 文件的步骤,直接将 .jtl 文件转换为 .html 文件

.jmx

和栗子二的结果一样

在 Jmeter GUI 中有一个类似的功能

点击 Tools

选好 jtl 文件,properties 配置文件,存放 HTML 报告的文件夹

栗子四

代码语言:javascript
复制
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 机

栗子五

代码语言:javascript
复制
jmeter -n -t FlaskDemo.jmx -l result/report.jtl  -R 172.20.72:38:1234,127.0.0.1:1234

启动指定的远程 slave 机执行 FlaskDemo.jmx ,并在 result 目录下生成 report.jtl

和 -r 不一样, -R 是指定slave机的,并不是所有 slave 机

master 机
slave 机

栗子六

代码语言:javascript
复制
jmeter -n -t FlaskDemo.jmx -l result/report.jtl  -R 172.20.72:38:1234 -X

跟栗子五的基本一样,只不过加了 -X,让远程服务器在执行完脚本后自动退出 jmeter-server

master 机

跑了两次,第一次没有 -X,第二次加了 -X

slave 机
当然想一劳永逸的话

可以将属性 jmeterengine.remote.system.exit 设置为 true(默认值为 false ),则 JMeter 将在测试结束后停止 RMI 之后调用 System.exit(0),但不建议这样

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 CLI 模式
  • 启动 Jmeter GUI 时的提示
  • 用 CLI 模式的好处
  • CLI 模式可选参数
  • 服务器相关参数
  • 属性参数
  • 栗子一
  • 栗子二
  • 栗子三
    • 在 Jmeter GUI 中有一个类似的功能
    • 栗子四
      • 重点
        • master 机
          • 虚拟 slave 机
            • 本地 slave 机
            • 栗子五
              • master 机
                • slave 机
                • 栗子六
                  • master 机
                    • slave 机
                      • 当然想一劳永逸的话
                      相关产品与服务
                      腾讯云 BI
                      腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档