JMeter笔记15 | JMeter场景运行

简介: JMeter笔记15 | JMeter场景运行
  • JMeter场景运行分两种方式,为GUI(运行界面)方式、命令窗口方式;
  • 而基于运行架构分本地化运行、远程运行。

1 GUI运行

1.1 本地化运行

  • 即运行本地一台JMeter机器,所有的请求从一台机器发出;
  • 如下是本地一个测试计划:

在这里插入图片描述

  • 运行前快捷菜单如下:

在这里插入图片描述

  • 本地点击在这里插入图片描述,运行后菜单栏如下,点击stop可以停止运行:

在这里插入图片描述

  • 另外如下图显示,0代表没有线程异常,0/50中分子代表当前运行的线程为0,总共50个线程;

在这里插入图片描述

1.2 远程运行

1.2.1 简单概述

  • 是用一台JMeter控制机(Master)控制远程的多台机器(Slave)来产生负载;
  • Master与Slave的通信是通过RMI方式完成;
  • Slave上运行Agent程序(启动命名为%JAVA_HOME%\bin\jmeter-server.bat);
  • Master上运行远程负载机。

1.2.2 详细说明

  • %JAVA_HOME%\bin下找到ApacheJMeter.jarjmeter-server.bat
  • 运行jmeter-server.bat来启动Agent,Agent程序由ApacheJMeter.jar中的程序来实现;
  • 在连接远程远程机器之前,先要进行配置,告诉JMeter要连接哪些机器;
  • 可打开jmeter.properties,搜索remote_hosts,找到如下内容:
#---------------------------------------------------------------------------
# Remote hosts and RMI configuration
#---------------------------------------------------------------------------

# Remote Hosts - comma delimited
remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010

# RMI port to be used by the server (must start rmiregistry with same port)
#server_port=1099
  • remote_hosts=后加上远程JMeter负载机的IP即可,多个IP用逗号隔开(重启JMeter才会生效该配置文件);
  • 远程运行的脚本若有参数化文件,脚本有依赖包时,需要把这些参数文件、依赖包拷贝到远程机器上。

2 非GUI运行

2.1 概述

  • 非GUI方式运行时没有JMeter界面,在命令行窗口通过命令实现;
  • 使用此运行方式的原因是:
因为JMeter可视化界面及监听器动态展示结果比较消耗负载机资源,在打并发情况下GUI方式会导致负载机资源紧张,会对性能测试结果造成影响。

2.2 运行方式

# 1:
java -jar %JAVA_HOME%\bin\ApacheJMeter.jar -n -t %JAVA_HOME%\script\xx.jmx -r -l result.jtl

# 2:
%JAVA_HOME%\bin\jmeter -n -t %JAVA_HOME%\script\xx.jmx -l %JAVA_HOME%\result\result.jtl

2.3 运行参数

2.3.1 参数查看

  • 使用jmeter.bat -?查看参数说明:
C:\Users\Administrator>jmeter.bat -?
    _    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____
   / \  |  _ \ / \  / ___| | | | ____|     | |  \/  | ____|_   _| ____|  _ \
  / _ \ | |_) / _ \| |   | |_| |  _|    _  | | |\/| |  _|   | | |  _| | |_) |
 / ___ \|  __/ ___ \ |___|  _  | |___  | |_| | |  | | |___  | | | |___|  _ <
/_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| |_____|_| \_\ 5.3

Copyright (c) 1999-2020 The Apache Software Foundation

        --?
                print command line options and exit
        -h, --help
                print usage information and exit
        -v, --version
                print the version information and exit
        -p, --propfile <argument>
                the jmeter property file to use
        -q, --addprop <argument>
                additional JMeter property file(s)
        -t, --testfile <argument>
                the jmeter test(.jmx) file to run. "-t LAST" will load last
                used file
        -l, --logfile <argument>
                the file to log samples to
        -i, --jmeterlogconf <argument>
                jmeter logging configuration file (log4j2.xml)
        -j, --jmeterlogfile <argument>
                jmeter run log file (jmeter.log)
        -n, --nongui
                run JMeter in nongui mode
        -s, --server
                run the JMeter server
        -E, --proxyScheme <argument>
                Set a proxy scheme to use for the proxy server
        -H, --proxyHost <argument>
                Set a proxy server for JMeter to use
        -P, --proxyPort <argument>
                Set proxy server port for JMeter to use
        -N, --nonProxyHosts <argument>
                Set nonproxy host list (e.g. *.apache.org|localhost)
        -u, --username <argument>
                Set username for proxy server that JMeter is to use
        -a, --password <argument>
                Set password for proxy server that JMeter is to use
        -J, --jmeterproperty <argument>=<value>
                Define additional JMeter properties
        -G, --globalproperty <argument>=<value>
                Define Global properties (sent to servers)
                e.g. -Gport=123
                 or -Gglobal.properties
        -D, --systemproperty <argument>=<value>
                Define additional system properties
        -S, --systemPropertyFile <argument>
                additional system property file(s)
        -f, --forceDeleteResultFile
                force delete existing results files and web report folder if
                 present before starting the test
        -L, --loglevel <argument>=<value>
                [category=]level e.g. jorphan=INFO, jmeter.util=DEBUG or com
                .example.foo=WARN
        -r, --runremote
                Start remote servers (as defined in remote_hosts)
        -R, --remotestart <argument>
                Start these remote servers (overrides remote_hosts)
        -d, --homedir <argument>
                the jmeter home directory to use
        -X, --remoteexit
                Exit the remote servers at end of test (non-GUI)
        -g, --reportonly <argument>
                generate report dashboard only, from a test results file
        -e, --reportatendofloadtests
                generate report dashboard after load test
        -o, --reportoutputfolder <argument>
                output folder for report dashboard

2.3.2 部分参数说明

参数 说明
-n 非GUI方式运行
-t 指定运行的测试脚本地址和名称
-h 查看帮助
-v 查看版本
-p 指定读取JMeter属性文件
-l 记录测试结果到文件,指定文件地址和名称
-s 以服务器方式运行,即远程方式
-H 设置代理,一般写代理IP
-P 设置代理端口
-u 代理账号
-a 代理口令
-J 定义JMeter属性 ,等同jmeter.properties
-G 定义JMeter全局属性 ,等同Global.properties
-D 定义系统属性,指定加载系统属性文件
-L 定义JMeter日志级别
-r 开启远程负载机 ,机器列表在jmeter.properties中指定
-R 开启远程负载机,可指定负载机IP
-d 指定JMeter Home目录
-X 停止远程执行
目录
相关文章
|
消息中间件 弹性计算 Java
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
1263 6
|
2月前
|
Java Linux 测试技术
JMeter的运行
JMeter是一款基于Java的压力测试工具,适用于Windows、Mac及Linux系统。运行JMeter需Java 8及以上版本,建议至少1GB内存。用户可通过双击bin目录下的jmeter.bat/.sh文件或命令行启动。其主界面包括文件、编辑、查找、运行、选项与帮助等菜单,支持测试计划的创建、编辑与执行,并提供详细的帮助文档。正确配置环境变量可简化启动流程。
|
2月前
|
JavaScript 前端开发 Java
用Maven运行JMeter
用Maven运行JMeter
29 0
用Maven运行JMeter
|
4月前
|
测试技术 Linux
linux 服务器运行jmeter 进行服务性能压测
linux 服务器运行jmeter 进行服务性能压测
390 0
|
存储 SQL Java
JMeter笔记18 | JMeter常用配置元件简介
JMeter笔记18 | JMeter常用配置元件简介
175 1
JMeter笔记18 | JMeter常用配置元件简介
|
JavaScript 前端开发
JMeter笔记17 | JMeter逻辑控制器简介
JMeter笔记17 | JMeter逻辑控制器简介
181 0
JMeter笔记17 | JMeter逻辑控制器简介
|
监控 Java Linux
linux环境运行jmeter脚本并生成测试报告
jmeter是一个java开发的利用多线程原理来模拟并发进行性能测试的工具,一般来说,GUI模式只用于创建脚本以及用来debug,执行测试时建议使用非GUI模式运行。
linux环境运行jmeter脚本并生成测试报告
|
XML Java 测试技术
在非GUI模式下运行JMeter的三种方法
在非GUI模式下运行JMeter的三种方法
850 0
在非GUI模式下运行JMeter的三种方法
|
存储 XML Java
JMeter JMeter自身运行性能优化
JMeter JMeter自身运行性能优化
294 0