jmeter非GUI模式如何压测并生成测试报告
在启动Jmeter时,我们会看到这样一句提示:

不要使用GUI模式(界面模式)进行负载测试,GUI模式只能用于创建测试和调试。进行负载测试时,需要时用非GUI模式。
那么为什么进行负载测试时一定要用非GUI模式?大家都知道无非是占用资源的区别,但是直到一次性能测试时,因为并发比较高,每次Jmeter都是很快吃完了所有的系统资源,只能强行shut down;也就是说,使用GUI模式下进行压力测试时,Jmeter吃掉了大量的资源,待测服务器下却没有任何压力条件。
摔!我看你就是在为难我胖达!你这不叫吃资源,你这直接把资源吸进淋逼惹!
后来在stackoverflow上看到了一个回答,具体解释了jmeter两个模式下的差别:
答案原文如下:
Non-GUI mode consumes a way less resources that GUI mode so I would recommend looking not only into Average Response Time, but also keep in mind other important metrics, for example check delivered load in both scenarios, i.e:
Active Threads Over Time and Transactions per Second listeners output (both are available via JMeter Plugins project
Generate HTML Reporting Dashboard and compare the output for both scenarios
Use 3rd-party analysis solution like JAnalyser or BM.Sense
My expectation is that in GUI mode you have much slower ramp-up hence you can run into the situation when some threads already had already finished their work while others were not yet started. In non-GUI ramp-up is faster so you have more online users so the load delivered to your application under test is much higher.
Try increasing loop count and test duration to see how it goes.
渣翻之:非GUI模式下比GUI模式消耗更少的系统资源,我建议不要只关注平均响应时间,也要关注其他重要的指标,比如说检查测试流程中的每个节点,比如线程的启动时间、每秒钟执行的事务、监听器的输出(Jemter可用的插件、生成的hmtl报告、和第三方的分析工具进行对比,结论是GUI模式下你的ramp-up更慢,因为会出现一些线程已经完成了,但是其他的进程还没有开始的情况;在非GUI模式下,ramp-up会更快,所以你有更多在线的用户,所以访问到待测系统效率更高),可以试试增加循环次数,然后观察在测试期间是怎么运行的。
一.jmeter环境变量配置:
使用GUI的非GUI模式,需要先配置JMETER的环境变量:
计算机-属性-高级系统设置,新增两个变量:
变量名:JMETER_HOME
变量值:Jmeter的安装路径
变量名:CLASSPATH
变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
配置好后可能会出现环境变量无法生效的问题,在cmd输入set path即可。
配置完成后在cmd中输入jemter -v,显示jmeter版本号表示环境变量配置成功。

二.常见的Jmeter命令:

常见命令:
|
1
|
jmeter -n -t 预约.jmx -l result.jtl -e -o output |
-e -o output,指的是在out文件下生成html报告
运行效果如下:

进入out文件夹,就能看到我们生成的html报告了:

欢迎关注老王公众号

jmeter非GUI模式如何压测并生成测试报告的更多相关文章
- jmeter非GUI(cmd命令行)模式的压测和输出测试报告
1.非GUI模式的压测,和GUI有啥不同? 2.非GUI模式怎么搞? 大家打开jmeter的时候,都会看到这个界面: 注意看这句话: Don't use GUI mode for load testi ...
- Jmeter非GUI模式运行
非GUI模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用的命令: jmeter -n -t 脚本文件路径 -l 结果输出文件路径 -j 日志文 ...
- Jmeter非GUI模式启动
首先我们需要了解,GUI和非GUI模式启动Jmeter对测试的影响:Jmeter可视化界面及监听器展示结果需要消耗负载资源,从而导致,在大并发的情况下GUI方式会导致负载机资源紧张,对性能造成影响 e ...
- jmeter 非GUI模式下传参
为什么要使用非GUI模式?--因为GUI模式下运行的时候消耗的内存比非GUI模式大,会使得压力测试的结果不准确. 根据参数类型分为两种:jmeter.properties和system.propert ...
- 『动善时』JMeter基础 — 55、JMeter非GUI模式运行
目录 1.JMeter的非GUI模式说明 2.为什么使用非GUI模式运行JMeter 3.怎样使用非GUI模式运行JMeter (1)非GUI模式运行JMeter步骤 (2)其它参数说明 4.CLI模 ...
- jmeter非GUI模式命令
一.如果没有.jtl文件,运行如下命令: jmeter -n -t baidu.jmx -l result.jtl 以非GUI形式运行Jmeter脚本jmeter -n -t baidu.jmx -l ...
- jmeter 非GUI模式下测试报错An error occurred: Unknown arg:
D:\download\性能工具\JMeter\apache-jmeter-2.11\apache-jmeter-2.11\bin>jmeter -n -t E:\性能测试\jmeter scr ...
- jmeter 非gui 模式跑jmx
D:\study\apache-jmeter-3.0\bin>jmeter -n -t D:\study\apache-jmeter-3.0\基金排行.jmx -l D:\study\apach ...
- JMeter非GUI模式下日志介绍
Creating summariser <summary> Created the tree successfully using /opt/JMeter/TestPlan/test.jm ...
随机推荐
- IOS 隐式动画(非Root Layer)
● 每一个UIView内部都默认关联着一个CALayer,我们可用称这个Layer为Root Layer(根 层) ● 所有的非Root Layer,也就是手动创建的CALayer对象,都存在着隐式动 ...
- Android(java)学习笔记75:ListViewProject案例(ListView + BaseAdapter + CheckBox)
这个案例可能稍微复杂一点,我会讲述详细一点: 1. 首先是AndroidManifest.xml: <?xml version="1.0" encoding="ut ...
- 【BZOJ3106】[CQOI2013] 棋盘游戏(对抗搜索)
点此看题面 大致题意: 在一张\(n*n\)的棋盘上有一枚黑棋子和一枚白棋子.白棋子先移动,然后是黑棋子.白棋子每次可以向上下左右四个方向中任一方向移动一步,黑棋子每次则可以向上下左右四个方向中任一方 ...
- Java 集合框架_上
集合框架被设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一个集合的 ...
- 5.3 Date类型
创建一个日期对象: var now = new Date( ); var now= new Date(); document.write(now); //Tue Apr 19 2016 11:43:5 ...
- SQL小知识_长期总结
1. 左联接右联接区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner ...
- C#创建和使用ActiveX组件
开发基于.Net平台上的程序员是很难从本质上把Visual C#和ActiveX组件联起来,虽然在使用Visual C#开发应用程序时,有时为了快速开发或者由于.Net FrameWork SDK的不 ...
- java基础面试题:try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
package com.swift; public class Try_Catch_Finally_Test { public static void main(String[] args) { /* ...
- Java基础面试题:String 和StringBuffer的区别
package com.swift; import java.util.Date; public class Getclass_Test extends Date { public static vo ...
- linux下/dev/null被误删
/dev/null文件是一个特殊的设备文件,可以用于清空一些日志文件,或者是使一些信息输出到此文件,用以节省硬盘空间.如果该空文件/dev/null文件被误删除掉, 如何再使用系统命令重新创建并设置该 ...