jmeter非gui(cmd命令行)模式的压测和输出测试报告

蒲公英好棒 蒲公英好棒     2022-12-02     272

关键词:

1、非GUI模式的压测,和GUI有啥不同?
2、非GUI模式怎么搞?

大家打开jmeter的时候,都会看到这个界面:

注意看这句话:

Don\'t use GUI mode for load testing !, only for Test creation and Test debugging.

意思就是:不要使用GUI模式来进行压力测试!只有在脚本创建、调试的时候才用到它

我们平常用jmeter跑脚本的时候,都是直接打开,然后新建线程组、http请求以及各种元件,然后一按“运行”,就哗啦啦跑起来。如果是进行常规的接口测试,几个http请求随便一测,那倒是没问题。但我们压力测试是绝对不能在界面(GUI)上面去跑的!

原因就是 GUI会消耗服务器部分的性能,导致压力测试数据不准确,或者导致GUI界面卡死,部分请求直接死掉,压测被迫中断。

非GUI模式就是直接通过cmd命令行去触发脚本运行,并且不用实时地渲染测试的数据,这样就能减少对电脑资源的消耗,如果我们是在自己的电脑上搭建服务器部署项目,那GUI模式估计会吃掉相当一部分的性能。

好,GUI和非GUI的区别搞明白了。下面讲如何进行非GUI的压测。

我是用自有的项目,一个PHP写的论坛网站进行测试。脚本已经录制好了,我们就用 注册 接口来试一下非GUI模式。

先对用户名、邮箱参数化了,CSV Set Data Config,存储了10000条数据,足够用了。我们先用1000条数据进行注册。线程数设置1000,Ramp-Up设置30秒,意思是1000个虚拟用户(Vuser),在30秒内加载完毕。

好,脚本设置好了。开搞之前,我们 先右键jmeter.bat,“以管理员身份运行”,不然后面会报错的。这个我也想不明白为什么,反正管理员身份运行就可以顺利执行。

jmeter打开之后,我们就不用管它。直接 win+R,打开cmd,先进入jmeter所在的bin目录下,注意,这个很重要!因为非GUI模式,命令行必须在bin目录下运行,如果你直接在cmd输入运行指令,它会告诉你 ‘jmeter不是内部命令’

比如说我的jmeter的bin目录路径是E:\\jmeter5.0\\bin,如下图:

然后输入 jmeter -n -t ,然后把jmx脚本拖拽进来,就变成:

到这里其实我们已经完成了,直接回车就可以运行了。但我同时还想输出 测试结果和测试报告,可以在后面添加:-l E:\\jmeter5.0\\a_report\\result.jtl -e -o E:\\jmeter5.0\\a_report\\WebReport
其中E:\\jmeter5.0\\a_report\\result.jtl是我存放测试结果的路径,result.jtl就是测试结果的文件,当然你想把它命名成1.jtl或者2.jtl,test.jtl都行,反正测试结果文件的后缀名就是.jtl,
然后再添加 -e -o E:\\jmeter5.0\\a_report\\WebReport,这是用于生成HTML测试报告,E:\\jmeter5.0\\a_report\\WebReport 就是你想存入的路径,你可以随便设置。

好,下面就是见证奇迹的时候:

我们直接回车,

出现下面这个图,就说明已经在启动了,只需要耐心等它结束。

结束之后,可以看到一些测试数据也写在里面,比如最小响应时间Min、最大响应时间Max、错误率 Err 等等。

好,我们再打开已经保存好的测试结果和测试报告:

测试结果可以直接导入jmeter来查看的,

而测试报告,则是直接打开HTML文档:

至此,我们就已经讲完了,关于非GUI模式下压测,虽然我上面用的注册接口简单操作了一下,1000个Vuser,30秒加载完成,算不上是真正意义的压力测试,但是思路和步骤大致就如此。

-------分割线- - - -

注意事项:运行刚才那个命令行,有时候会报错: Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output format, check \' jmeter.save.saveservice.output_format\' property

注意画粗的那句话,意思就是测试报告的输出有问题

那我们就打开bin目录下的jmeter.properties文件,查找jmeter.save.saveservice.output_format,把后面的xml改为csv,即可。

jmeter-非gui模式与gui模式(分布式测试)

参考技术A一、由于Jmeter是一个纯Java的应用,用GUI模式运行压力测试时,对客户端的资源消耗是很大的,所以在进行正式的压测时一定要使用非GUI模式运行。如果并发数很高或者客户端的硬件资源比较一般的话,采取的方法是以S... 查看详情

使用jmeter进行简单的压测

...往官网下载,【地址】环境需要java环境,此处略最好对jmeter配置下环境变量,方便打开,此处略运行启动jmeter进入到bin目录,输入  ./jmeter  启动启动是会给出提示,不要使用GUI模式进行测试,GUI模式仅用于创建脚... 查看详情

jmeter命令行(非gui模式)执行详解

参考技术A背景说明:JMeter执行方式有两种,一种是GUI模式,一种是非GUI模式。GUI模式就是界面模式,非GUI模式就是命令行模式。GUI模式主要用来编写和调试脚本用的,接口的性能测试最好是采用命令行模式,因为该模式可以和... 查看详情

jmeter(非gui模式)教程

前言使用非GUI模式,即命令行模式运行JMeter测试脚本能够大大缩减所需要的系统资源。优点如下:1、节约系统资源:无需启动界面,节约系统资源2、便捷快速:仅需启动命令行,输入命令便可执行,是为命令达人最爱3、易于持... 查看详情

jmeter基础—使用非gui模式运行jmeter(命令行模式)(代码片段)

1、JMeter的非GUI模式说明之前,我们在启动JMeter时,一直会有一个黑色命令行窗口,窗口中提示了如下的信息:propertiesJun05,202110:21:22AMjava.util.prefs.WindowsPreferences<init>WARNING:Couldnotopen/createprefsrootn 查看详情

jmeter非命令行执行脚本

...印出有用的信息并退出-n非GUI模式->在非GUI模式下运行JMeter-t测试文件->要运行的JMeter测试脚本文件-l日志文件->记录结果的文件-r远程执行->启动 查看详情

jmeter非gui模式运行

...A对于性能测试初学者来说,使用GUI模式即界面模式运行JMeter测试脚本比较方便操作和看到测试结果,但界面模式下运行测试脚本时,JMeter本身就会消耗机器的系统资源。真正在跑场景的时候,我们并不会在界面模式下运行测试... 查看详情

jmeter压测实践

...巧一:命令行执行命令执行:指定参数,报告的存储位置jmeter-n-tbaidu_requests_results.jmx-r-lbaidu_requests_results.jtl-e-o/home/resultReport-n:非GUI模式执行JMeter-t:执行测试文件所在的位置及文件名-r: 远程将所有agent启动用在分布式测试场景... 查看详情

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

 jmeter命令行模式运行,实时获取压测结果jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行。简单介绍下命令行运行的方式:shjmeter.sh-n-tmy-script.jmx-R10.6.5.31,10.6.5.35,10.6.5.36,10.6.5.37,10.6.5.72-l8.jtl上面一条命令应该... 查看详情

jmeter非gui命令行执行脚本文件(代码片段)

介绍进行性能测试时,Jmeter官方文档声明是不建议在GUI执行的,此时需要用到命令行。 第一步:环境配置把Jmeter安装目录in添加到系统环境变量path 第二步:命令参数-n     命令行模式-t     脚本路径-l  ... 查看详情

非gui模式下运行jmeter

因为JMeter运行在GUI模式下非常消耗资源,在进行性能测试时,可能会对测试结果产生一定的影响。而使用非GUI模式,即命令行模式运行JMeter测试脚本能够大大缩减所需要的系统资源。JMeter在非GUI模式下运行的步骤如下:一、首先... 查看详情

jmeter压测和抓包

一、Jmeter分布式压测步骤(添加压力机):1.在其他的压力机启动jmeter-server.bat,几台机器都在一个局域网里,能ping通2.在主控机jmeter的配置文件jmeter.properties找到remote_hosts=xx,添加压力机的ip,默认端口号1099,重启jmeter3.运行主... 查看详情

apachebench压测以及和jmeter对比

...一般来说只有-c和-n参数是必要的,例如:下面分别用ab和jmeter压测一个Get请求,然后通过对比效果,来简单分析二者的异同。在ab命令行中设置10个并发,持续60s,结果如下:然后使用JMETER命令行模式运行脚本,这是因为使用非GUI... 查看详情

cmd模式启动jmeter

...策略配置好,将测试结果写入到完成以上步骤后,进入到jmeter安装目录查看路径启动cmd cdE:\apache-jmeter-2.13\bin jmeter安装目录进入目录后启动jmeter脚本 jmeter-n-tD:\Huanjing\YSX\jieko\731接口.jmx-lD:\Huanjing\... 查看详情

jmeter安装配置教程及使用

...etdata、arthas、nginx流量监测。常见压测工具包括:gatling、jmeter等等安装方法:一、在Linux服务器先安装sdk(目前所有服务器均安装了java,可先查看java-version)1、先从客户端下载jdk1.8.0_144.tar.gz,再上传到服务器2、解压:tar-xzf jdk1.... 查看详情

命令行运行jmeter实例

 最近在用jmeter做接口的压力测试,开始是在GUI下运行的,随着并发数的增加,发现我的电脑卡死了,虽然是对远程服务器进行压测,但是当并发数增加时,会影响运行的电脑的性能,因此采取了命令行格式运行jmeter压测。运... 查看详情

jmeter-非gui模式启动

非GUI模式启动命令:win:jmeter.bat-JthreadCount=10–JrampUp=1-Jcycle=1-n-tD:文件操作.jmxlinux: jmeter.sh-JthreadCount=10–JrampUp=1-Jcycle=1-n-t/usr/local/jmeter/apache-jmeter-2.13/bin/文件操作.jmx说明:-n非GUI模式-t测试文 查看详情

jmeter的non-gui模式分布式测试

由于Jmeter是一个纯JAVA的应用,用GUI模式运行压力测试时,对客户端的资源消耗是相当惊人的,所以在进行正式的压测时一定要使用non-gui模式运行,如果并发数很高或者客户端的硬件资源比较一般的话,还可以以server模式用多个c... 查看详情