zoukankan      html  css  js  c++  java
  • 性能测试——jmeter性能测试——详解 Jmeter CLI 模式——转载

    转载:https://www.cnblogs.com/poloyy/p/13227149.html

    什么是 CLI 模式

    • CLI = Command 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 报告的细节:https://www.cnblogs.com/poloyy/p/13278920.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.72:38:1234,127.0.0.1:1234

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

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

    master 机

    slave 机

    栗子六

    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),但不建议这样

  • 相关阅读:
    使用scrapy-redis 搭建分布式爬虫环境
    爬虫必备工具-chrome 开发者工具
    Python 中多进程、多线程、协程
    Python 中命令行参数解析工具 docopt 安装和应用
    什么是中台?
    ubuntu 18.04 上安装 docker
    深入理解 ajax系列第一篇(XHR 对象)
    scrapy 中 shell 出现 403 Forbiidden 解决方案
    python 的参数总结
    Python 的直接赋值、Deepcopy、Copy的区别
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15202557.html
Copyright © 2011-2022 走看看