简介:使用非GUI模式,即命令行模式运行jmeter测试脚本能够大大缩减系统资源

1、配置jdk及添加环境变量

变量名:JAVA_HOME
变量值: C:\Program Files\Java\jdk1.8.0_51 (即jdk安装的位置)
变量名:Path  (这个变量名已在系统变量中存在,现只需增加如下变量值)
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
变量名:CLASSPATH
变量值:.;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar(记住前面的.)

2、配置jmeter环境变量

变量名:JMETER_HOME
变量值:C:\Program Files\apache-jmeter-2.11
变量名:CLASSPATH
变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;

3、命令行模式

  双击jmeter.bat ,打开windows dos窗口和gui界面,dos命令窗口不可关闭。若双击报错,可替换jmeter.bat 如下参数

set HEAP=-Xms512m -Xmx512m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m -XX:+CMSClassUnloadingEnabled

3.1 命令介绍

jmeter -n -t <testplan filename> -l <listener filename>
示例: jmeter -n -t testplan.jmx -l test.jtl 示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl

3.2 参数介绍

官方手册

-h, –help -> prints usage information and exit
-n, –nongui -> run JMeter in nongui mode
-t, –testfile <argument> -> the jmeter test(.jmx) file to run
-l, –logfile <argument> -> the file to log samples to
-r, –runremote -> Start remote servers (as defined in remote_hosts)
-H, –proxyHost <argument> -> Set a proxy server for JMeter to use
-P, –proxyPort <argument> -> Set proxy server port for JMeter to use

具体含义

-h 帮助 -> 打印出有用的信息并退出

-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

-t 测试文件 -> 要运行的 JMeter 测试脚本文件

-l 日志文件 -> 记录结果的文件

-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器

-H 代理主机 -> 设置 JMeter 使用的代理主机

-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080

4. 实例介绍

4.1 脚本运行

JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录。比如你在 C:\tools\apache-jmeter-2.11\bin 目录下执行以上命令,JMeter 会去该目录下寻找 test.jmx 脚本并把执行结果放在该目录。

如果你的脚本在其他目录,而且想要把执行结果放在另外文件夹,需要使用绝对路径告诉 JMeter,如下:

上述测试结果展示为:执行3条用例,错误率为33.33%,说明有1条用例执行错误。

个人实践

脚本位于D:\Learning\Jmeter,此时执行jmeter.bat -n -t 充值压测.jmx -l result.jtl,报错如下:

脚本位于D:\Learning\Jmeter,此时进入jmeter.bat所在bin目录执行jmeter.bat -n -t 充值压测.jmx -l result.jtl命令,则报错Could not open 充值压测.jmx,

解决方法:执行命令改为jmeter.bat -n -t  D:\Learning\Jmeter\充值压测.jmx -l D:\Learning\Jmeter\result.jtl

将脚本放入jmeter.bat所在bin目录,执行命令,成功

2.2. 报告查看

上述的命令有要求测试结果保存到D:\Learning\Jmeter\apache-jmeter-2.13\bin result.jtl中,如果需要可以在GUI模式下查看测试报告。

1、打开Jmeter GUI界面

2、在测试计划下,添加对应的测试报告元件,此处演示,增加了:聚合报告、查看结果树、Summary Report测试报告

3、在所有数据写入一个文件,浏览中选择对应的日志文件

4、下面就会有对应的表格展示,具体见下图

5. 参考资料

1 . https://girliemangalo.wordpress.com/2009/10/29/jmeter-run-scripts-from-the-console/

2. 实际执行过程中在cmd中进入e:\jmeter\bin目录方法:

e:

cd e:\jemer\bin

部分内容转自:http://www.cnblogs.com/leeboke/p/5238269.html

备注:省略步骤一步骤二环境变量的配置,仍可通过jmeter.bat打开dos命令窗口和gui测试界面。如若不配置,不清楚会给压测带来什么影响,后续再跟进

  

jmeter命令行压测的更多相关文章

  1. jmeter命令行模式运行,实时获取压测结果

    jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...

  2. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  3. jmeter命令行运行-单节点

    jmeter有自己的GUI页面,但是当线程数很多或者现在有很多的测试场景都是基于linux下进行压测,这时我们可以使用jmeter的命令行方式来执行测试,该篇文章介绍jmeter单节点命令运行方式. ...

  4. jmeter进行分布式压测过程与 注意事项

    jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...

  5. 6. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 收集诊断跟踪信息与如何分析瓶颈

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

  6. Jmeter命令行运行配置环境变量

    Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...

  7. 1. 堪比JMeter的.Net压测工具 - Crank 入门篇

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

  8. 2. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

  9. 3. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识bombardier

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

随机推荐

  1. 2019-8-31-C#-字典-Dictionary-的-TryGetValue-与先判断-ContainsKey-然后-Get-的性能对比

    title author date CreateTime categories C# 字典 Dictionary 的 TryGetValue 与先判断 ContainsKey 然后 Get 的性能对比 ...

  2. JS函数 返回值的函数 return sum;或者result = add2(3,4);

    返回值的函数 思考:上一节函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢? 我们只要把"document.write(sum ...

  3. css----less预处理器

    ###less less是一种动态样式语言,属于css预处理器的范畴,它扩展了 CSS 语言, 增加了变量.Mixin.函数等特性,使 CSS 更易维护和扩展 LESS 既可以在 客户端 上运行 ,也 ...

  4. vs2013x64&&qt5.7.1编译osg3.4.0&&osgEarth2.7

    此文仅备忘: 1.安装VS2013_Cn_Ult 2.安装qt-opensource-windows-x86-msvc2013_64-5.7.1 设置环境变量QTDIR,并将其bin加入到path中. ...

  5. linux dmesg命令使用

    linux dmesg命令使用 2012-11-27 09:37 2783人阅读 评论(0) 收藏 举报  分类: linux内核与编程(199)  版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  6. 0914CSP-S模拟测试赛后总结

    9-16 16:03-upd:T3数据出锅,老师重测了,于是更了榜单. 名次并没有变化,但是和大佬们的差距变大了. 还是自己实力不行啊.最起码T3不是特别难想吧. 继续努力吧. 粘个榜:%%%二营长. ...

  7. error C2054:在“inline”之后应输入“(”

    转自VC错误:http://www.vcerror.com/?p=79 问题描述: error C2054:在"inline"之后应输入"(" 按照编译错误的提 ...

  8. 024_mysql应用

    初级照片位置:https://www.cnblogs.com/a276665092/gallery/image/277598.html 好丑啊 ,这怎么改啊!!!! 高级:https://www.cn ...

  9. 7_1.springboot2.x启动配置原理_1.创建SpringApplication对象

    环境准备 springboot2.1.9.idea2019. pom.xml 解析 几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContex ...

  10. java_网络编程之BS(web案例)

    package BsServersocket; import java.io.*; import java.net.ServerSocket; import java.net.Socket; publ ...