jmeter非GUI(cmd命令行)模式的压测和输出测试报告
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模式就是直接通过指令去触发脚本运行,并且不用实时地渲染测试的数据,这样就能减少对电脑资源的消耗,如果我们是在自己的电脑上搭建服务器部署项目,那GUI模式估计会吃掉相当一部分的性能。
好,GUI和非GUI的区别搞明白了。下面讲如何进行非GUI的压测。
我是用自有的项目,一个PHP写的论坛网站进行测试。脚本已经录制好了,我们就用 注册 接口来试一下非GUI模式。
先对用户名、邮箱参数化了,CSV Set Data Config,存储了10000条数据,足够用了。我们先用1000条数据进行注册。线程数设置1000,Ramp-Up设置30秒,意思是1000个虚拟用户(Vuser),在30秒内加载完毕。
直接 win+R,打开cmd,先进入jmeter所在的bin目录下,注意,这个很重要!因为非GUI模式,命令行必须在bin目录下运行,如果你直接在cmd输入运行指令,它会告诉你 ‘jmeter不是内部命令’。
比如说我的jmeter的bin目录路径是E:\jmeter5.0\bin,如下图:
当然,如果你不想像我那样一步步cd到bin目录,那就直接打开bin目录,然后地址栏输入cmd,回车,就行啦。
然后输入 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(cmd命令行)模式的压测和输出测试报告的更多相关文章
- Jmeter在非GUI(命令行)模式下生成测试报告
根据各大招聘网站上的需求来看,熟悉Jmeter做性能测试已经几乎成为必要条件了. 那么今天在这个给大家安利一波,怎么使用Jmeter在非GUI(命令行)模式下生成测试报告呢?? 条件准备: 1.Jme ...
- jmeter非GUI模式如何压测并生成测试报告
在启动Jmeter时,我们会看到这样一句提示: 不要使用GUI模式(界面模式)进行负载测试,GUI模式只能用于创建测试和调试.进行负载测试时,需要时用非GUI模式. 那么为什么进行负载测试时一定要用非 ...
- oracle 中数据库完全导入导出:cmd命令行模式(转载)
http://www.3lian.com/edu/2012/12-01/47252.html Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库 ...
- cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)
一 查看数据库.表.数据字段.数据 1 首先配置环境变量 进入mysql 或者通过一键集成工具 打开mysql命令行 或者mysql 可视化工具 打开命令行 进入这样的界面 不同的机器操作不同 ...
- cmd命令行模式开启或关闭 windows功能 (转载)
1,用管理员身份运行cmd. 2,运行 dism /online /Get-Features >C:\1.txt,这样会在C盘生成一个txt文件,文件内容是功能列表,可以对照“打开或关闭win ...
- Jmeter非GUI运行,生成html报告
一.JMete执行方式 JMeter执行方式有2种,一种是GUI模式,一种是非GUI模式.GUI模式就是界面模式,非GUI模式就是命令行模式.界面模式主要用来编写和调试脚本用的,项目的真正执行最好是采 ...
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)
源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...
- 使用cmd命令行方式登录ftp上传下载数据
部分用户在使用ftp工具登录空间上传下载过程中经常会遇到各种问题,如主动模式,被动模式,以及其他导致无法登陆ftp .上传数据.下载数据的问题,这时候不妨使用一下命令行方式.命令行下可以避免很多由于f ...
- 『动善时』JMeter基础 — 55、使用非GUI模式运行JMeter(命令行模式)
目录 1.JMeter的非GUI模式说明 2.为什么使用非GUI模式运行JMeter 3.使用非GUI模式运行JMeter (1)非GUI模式运行JMeter步骤 (2)其它参数说明 4.CLI模式运 ...
随机推荐
- STM32定时器学习---基本定时器
STM32F1系列的产品,除了互联网产品外,工作8个,3种定时器,其中一种就是基本定时器.那么STM32单片机的基本定时器如何操作以及编程呢? 下面我们就来详细的了解一下 STM32F1系列的产品,除 ...
- hdu 1198 Farm Irrigation(并查集)
题意: Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a ...
- Memory Analyzer Tool 使用
转载出处:https://wensong.iteye.com/blog/1986449 最近一段时间一直在研究热部署,热部署中涉及到一个比较头痛的问题就是查内存泄露(Memory Leak),于是乎在 ...
- centos7 二进制安装mysql-8.0.19
安装包下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz 1.检 ...
- c++ 算法 next_permutation
遇到这个算法是在大牛写的10行的8皇后问题中,下面首先给出这个10行就解决了8皇后的NB代码,我目前还是没有看懂对于皇后不在同一列的判断,因为他巧妙的用了移位操作. #include<iostr ...
- NAT & 防火墙
NAT 网络地址转换 NAT产生背景 今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣.他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需.企业利用互联 ...
- robot framework 导入资源
创建资源后添加关键字 创建资源文件用于存放关键字,项目下的所有套件都可以引用. 1.创建资源 测试项目->new resource->输入资源名称->点击"确认" ...
- 后台管理系统:vue&node&MongoDB(一)
后台管理系统 使用工具: Vue Node Mongodb Element-ui 一.后台(Node+Mongodb) 前期准备: 需要下载的包: mongooes -------- ...
- <互联网时代>观感
<互联网时代>这部纪录片描绘了互联网从上世纪70年代到现在的整个发展过程,讲述了互联网带给我们生活的方方面面的变化,互联网技术在短短二,三十年的商业化浪潮中,以前所未有的速度谱写着改变世界 ...
- 通过python来获取网页状态
#!/usr/bin/python import sys,httplibfrom optparse import OptionParserusageString = "Usage: %pro ...