jmeter命令行压测
简介:使用非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命令行压测的更多相关文章
- jmeter命令行模式运行,实时获取压测结果
jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...
- jmeter命令行运行-分布式测试
上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...
- jmeter命令行运行-单节点
jmeter有自己的GUI页面,但是当线程数很多或者现在有很多的测试场景都是基于linux下进行压测,这时我们可以使用jmeter的命令行方式来执行测试,该篇文章介绍jmeter单节点命令运行方式. ...
- jmeter进行分布式压测过程与 注意事项
jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...
- 6. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 收集诊断跟踪信息与如何分析瓶颈
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...
- Jmeter命令行运行配置环境变量
Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...
- 1. 堪比JMeter的.Net压测工具 - Crank 入门篇
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...
- 2. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...
- 3. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识bombardier
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...
随机推荐
- Flutter 类似viewDidAppear 的任务处理
前言 在任务之中 ,有些实时任务比较重的需求,需要在类似 iOS viewDidAppear 里面执行数据请求任务,如:上一个页面返回pop 后执行网络请求任务.在flutter中如何实现呢? 目前 ...
- Shell 学习(二)
目录 Shell 学习(二) 1 设置环境变量 1.1 基本语法 1.2 实践 2 位置参数变量 2.1 介绍 2.2 基本语法 2.3 位置参数变量应用实例 3 预定义变量 3.1 基本介绍 3.2 ...
- Ubuntu升级软件和ubuntu升级系统的命令
sudo apt-get update: 升级安装包相关的命令,刷新可安装的软件列表(但是不做任何实际的安装动作) sudo apt-get upgrade: 进行安装包的更新(软件版本的升级) su ...
- Date()日期转换和简单计算
/** * 判断是否为闰年 * @param year * @return */ public boolean isLeap ( int year ) { if ( (year % 4 == 0 &a ...
- golang中net/http包的简单使用
一.介绍 http包提供了http客户端和服务端的实现 Get,Head,Post和PostForm函数发出http.https的请求 程序在使用完回复后必须关闭回复的主体 #简单的访问网站,由于没有 ...
- fiddler过滤其他网站请求
1.首先选择filters过滤器,之后选择使用,点击第二个下拉框选择只显示下方主机地址 2.填写需要过滤的IP或网址,点击Actions保存设置 3.最后就可以只抓取固定的数据包了.
- 二分查找总结及部分Lintcode题目分析 1
进行二分查找课程回顾与总结,包括以下几个方面,二分法的模板总结和解题思路.应用. 二分法模板总结classical binary search: 1. 必须要做的排除极端情况,也就是数组(用A表示)不 ...
- POJ 2318 /// 判断点与直线的位置关系
题目大意: n块玩具箱隔板 m个玩具落地点 给定玩具箱的左上和右下两个端点 接下来给定n块隔板的上点的x和下点的x(因为y就是玩具箱的上下边缘) 接下来给定m个玩具落地点 输出n+1个区域各有的玩具数 ...
- Amazon S3和EBS的区别
- Android开发 输入法调用学习
方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context. ...