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命令行)模式的压测和输出测试报告的更多相关文章

  1. Jmeter在非GUI(命令行)模式下生成测试报告

    根据各大招聘网站上的需求来看,熟悉Jmeter做性能测试已经几乎成为必要条件了. 那么今天在这个给大家安利一波,怎么使用Jmeter在非GUI(命令行)模式下生成测试报告呢?? 条件准备: 1.Jme ...

  2. jmeter非GUI模式如何压测并生成测试报告

    在启动Jmeter时,我们会看到这样一句提示: 不要使用GUI模式(界面模式)进行负载测试,GUI模式只能用于创建测试和调试.进行负载测试时,需要时用非GUI模式. 那么为什么进行负载测试时一定要用非 ...

  3. oracle 中数据库完全导入导出:cmd命令行模式(转载)

    http://www.3lian.com/edu/2012/12-01/47252.html Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库 ...

  4. cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)

    一 查看数据库.表.数据字段.数据 1 首先配置环境变量 进入mysql  或者通过一键集成工具 打开mysql命令行  或者mysql 可视化工具 打开命令行 进入这样的界面   不同的机器操作不同 ...

  5. cmd命令行模式开启或关闭 windows功能 (转载)

    1,用管理员身份运行cmd. 2,运行 dism /online  /Get-Features >C:\1.txt,这样会在C盘生成一个txt文件,文件内容是功能列表,可以对照“打开或关闭win ...

  6. Jmeter非GUI运行,生成html报告

    一.JMete执行方式 JMeter执行方式有2种,一种是GUI模式,一种是非GUI模式.GUI模式就是界面模式,非GUI模式就是命令行模式.界面模式主要用来编写和调试脚本用的,项目的真正执行最好是采 ...

  7. PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)

    源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...

  8. 使用cmd命令行方式登录ftp上传下载数据

    部分用户在使用ftp工具登录空间上传下载过程中经常会遇到各种问题,如主动模式,被动模式,以及其他导致无法登陆ftp .上传数据.下载数据的问题,这时候不妨使用一下命令行方式.命令行下可以避免很多由于f ...

  9. 『动善时』JMeter基础 — 55、使用非GUI模式运行JMeter(命令行模式)

    目录 1.JMeter的非GUI模式说明 2.为什么使用非GUI模式运行JMeter 3.使用非GUI模式运行JMeter (1)非GUI模式运行JMeter步骤 (2)其它参数说明 4.CLI模式运 ...

随机推荐

  1. SpringCloud微服务实战——搭建企业级开发框架(十一):集成OpenFeign用于微服务间调用

    作为Spring Cloud的子项目之一,Spring Cloud OpenFeign以将OpenFeign集成到Spring Boot应用中的方式,为微服务架构下服务之间的调用提供了解决方案.首先, ...

  2. linux下文件后面带~

    之前发现有时候在命令行ls会看到一些文件后面带有-,而这些文件的名字和我们文件夹中的某些文件是一模一样的文件,在文件夹中没发现就很大胆地删掉了也没是,一直没管,觉得是什么临时复制的文件或者隐藏文件.今 ...

  3. 【动图解释】关系数据库de关系代数小记

    本文章在 Github 撰写,同时在 我的博客 进行了发布. 最近学数据库概论学到了关系数据库的关系代数了.哎嘛,真的把我整晕了,尤其是关系代数的使用,很容易让人被蒙在鼓里. 对我来说槽点最大的莫过于 ...

  4. sudo 命令详解

    在linux系统中,由于root的权限过大,一般情况都不使用它.只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令. 一.su和sudo命令对比 ...

  5. bash: mysql: command not found(解决方法)

    执行mysql -uroot -p ,出现如图问题 解决方法如下: 执行以上命令,系统默认会查找/usr/bin下的命令,若这个命令不在该目录下,就会找不到,我们需要做的就是映射一个链接到/usr/b ...

  6. 『与善仁』Appium基础 — 9、补充:C/S架构和B/S架构说明

    目录 1.C/S架构和B/S架构概念 2.C/S结构与B/S架构的区别 3.C/S架构和B/S架构优点和缺点 (1)B/S模式的优点和缺点: (2)C/S模式的优点和缺点: 1.C/S架构和B/S架构 ...

  7. Flask搭建弹幕视频网站(1)

    说在前面 也不知道最后能不能完成网站,所以就想把这十多天来学习到的点点滴滴记录下来.学的越来越多,所谓全栈也是需要前端基础,越来越感受到压力,但是遇到一个问题就解决一个问题,慢慢习惯之后感觉也还行.说 ...

  8. 在Winform中直接录入表格数据和在Vue&Elment中直接录入表格数据的比较

    一般来说,录入数据的时候,我们都采用在一个窗体界面中,根据不同内容进行录入,但是有时候涉及主从表的数据录入,从表的数据有时候为了录入方便,也会通过表格控件直接录入.在Winform开发的时候,我们很多 ...

  9. 【ASP.NET Core】体验一下 Mini Web API

    在上一篇水文中,老周给大伙伴们简单演示了通过 Socket 编程的方式控制 MPD (在树莓派上).按照计划,老周还想给大伙伴们演示一下使用 Web API 来封装对 MPD 控制.思路很 Easy, ...

  10. 来了!公开揭密团队成员开发鸿蒙 OpenHarmony 的完整过程(收获官方7000奖金和开发板等,1w字用心总结)

    背景 随着 OpenHarmony 组件开发大赛结果公布,我们的团队成员被告知获得了二等奖,在开心之余也想将我们这段时间宝贵的开发经验写下来与大家分享,当我们看到参赛通知的时候已经是 9 月中旬的时候 ...