jmeter有自己的GUI页面,但是当线程数很多或者现在有很多的测试场景都是基于linux下进行压测,这时我们可以使用jmeter的命令行方式来执行测试,该篇文章介绍jmeter单节点命令运行方式。

1:准备单节点linux机器,并安装jdk,即安装java环境

我的linux机器为:134.64.14.96,至于怎么安装java环境就不说了

2:上传并解压最新的jmeter包到linux服务器上,目前jmeter版本已经进入3了这里给出我的安装包云盘地址:http://pan.baidu.com/s/1bI3r2I 密码:f5ll

3:由于linux上面没有像windows那样直观的jmeter的gui页面使得我们制定jmeter的jmx脚本比较费力(一般linux服务器为了性能考虑不会装图形化界面),所以jmx脚本我们可以在本地windows机器上利用jmeter的gui页面先制作好,然后上传到服务器上去执行

下面用百度请求为例:

在本地双击jmeter的bin目录下的jmeter.bat文件启动jmeter的gui页面,生成一个百度的接口请求jmx脚本,并在本地调试通过

调试通过以后,此时功能测试的脚本就生成好了,我们在将此脚本做一定配置和修改,使其成为一个可以放在服务端跑的性能脚本

一般我都做两步:

第一步:删除-查看结果树等一切监听器 ,目的是:jmeter底层就是java写的,为减少压测时性能损耗一切不用的控件都不要放在上面,至于测试结果会有jtl文件能够统计不需要这里在添加监听器

第二步:修改线程组下面的线程数和循环次数,如下面的设置可以实现:20个线程数跑3分钟的场景,修改完成进行保存该jmx文件

4:上传该性能脚本(baidu_requests_results.jmx)到linux服务器上

如我上传在了bin目录下/home/tester/apache-jmeter-3.0/bin

5:命令行运行jmeter脚本

执行命令为:

./jmeter -n -t baidu_requests_results.jmx -l baidu_requests_results.jtl

观察服务器控制台:

这样就用命令行的方式完成了jmx脚本20个线程3分钟并发的场景测试

jmeter命令行具体各项的含义为:

-h 帮助 -> 打印出有用的信息并退出

-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

-t 测试文件 -> 要运行的 JMeter 测试脚本文件

-l 日志文件 -> 记录结果的文件

-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器

-H 代理主机 -> 设置 JMeter 使用的代理主机

-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

6:执行结果说明

一:可以看到控制台结果中打印的日志

summary +  91773 in 00:00:06 = 15787.5/s Avg:     0 Min:     0 Max:    78 Err: 91773 (100.00%) Active: 20 Started: 20 Finished: 0

解析为:

在6秒的时间内增加请求91773个,平均每秒处理15787.5个请求数目,时间单位为ms,err为错误率,这里百度请求为100%错误是因为百度本身的机制造成的,同一个ip短时间并发请求百度,会拒绝请求所以才会出错,真实情况下执行自己自定义脚本可以根据错误率查看服务器是否能承受住那么大的压力,active为在线用户数,即当前有多少个用户在并发请求

二:在jmeter的bin目录下生成了一个jtl文件,该文件中收集了3分钟内所有的测试结果

throughput(每秒处理事务数)

随着活跃线程数增加响应时间曲线:

聚合报告:

对于jtl测试结果我们可以有多种方式去查看另外性能测试对于性能结果的分析也至关重要,关于jtl测试结果查看与分析,这里请看我的jmeter系列博文之-jmeter之jtl测试报告(说明:上面的图表中错误率为100%是由于我并发压测百度,百度本身机制会拒绝短时间内同一ip并发请求所以才会出错)

jmeter命令行运行-单节点的更多相关文章

  1. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  2. Jmeter命令行运行配置环境变量

    Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...

  3. Jmeter命令行运行实例讲解

    1. 简介 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法. 1.1. 命令介绍 jmeter -n -t & ...

  4. jmeter命令行运行与生成报告

    一.     使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...

  5. jmeter 命令行运行与生成报告

    一.     使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...

  6. Jmeter命令行 传递参数

    二.参数 -J 和 -G 1.格式:-J变量名=值  -G变量名=值 2.相同之处:设置jmeter属性,例如线程数.循环次数.ramp up-time等 3.不同之处:-J是设置本地jmeter属性 ...

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

    jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...

  8. Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)

    1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...

  9. JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)

    在使用JMeter进行性能测试时,以下情况经常出现: 1.测试过程中,指定运行的线程数.指定运行循环次数不断改变: 2.访问的目标地址发生改变,端口发生改变,需要改写脚本. 上面的问题在GUI中,直接 ...

随机推荐

  1. 10.26最后的模拟DAY2 改造二叉树[中序遍历+严格递增的最长不下降子序列]

    改造二叉树 [题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他 ...

  2. 企业架构研究总结(33)——TOGAF架构内容框架之架构制品(上)

    4. 架构制品(Architectural Artifacts) 架构制品是针对某个系统或解决方案的模型描述,与架构交付物和构建块相比,架构制品既不是架构开发方法过程各阶段的合约性产物,亦不是企业中客 ...

  3. 8个免费实用的C++GUI库

    8个免费实用的C++GUI库 C++标准中并没有包含GUI,这也使得C++开发图形化界面需要依赖于第三方的库.实际上,图形界面恰恰是C++的强项,小到平常使用的各类桌面软件,大到魔兽世界这样的游戏,都 ...

  4. XHtml(Xml+Html)语法知识(DTD、XSD)

    那点你不知道的XHtml(Xml+Html)语法知识(DTD.XSD) 什么是XHtml: 摘录网上的一句话,XHTML就是一个扮演着类似HTML的角色的XML. XHtml可当模板引擎应用: CYQ ...

  5. 在Visual Studio 2012中使用VMSDK开发领域特定语言1

    在Visual Studio 2012中使用VMSDK开发领域特定语言(一)   前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modelin ...

  6. this关键字、访问修饰符、super关键字

    this关键字.访问修饰符.super关键字 Java关键字this只能用于方法方法体内,而且只能用在非静态方法内.当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个 ...

  7. JavaScript中变量声明有var和没var的区别

    JavaScript中变量声明有var和没var的区别 JavaScript中有var和没var的区别 Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 (functi ...

  8. 如何让msvsmon.exe 以服务方式运行

    通常我们在VS上调试程序用的都是msvsmon.exe, 使用管理员权限运行再选项设置任何人可以调试就可以了,而这个在绝大多数情况下都没有问题.而我想说的就是特殊的情况,跟msvsmon的运行权限相关 ...

  9. Citrix 服务器虚拟化之三 Xenserver 网络管理

    Citrix 服务器虚拟化之三 Xenserver 网络管理 每个Xenserver服务器都有一个或多个网络.XenServer 网络是虚拟的以太网交换机,它可以连接到外部接口(带或不带 VLAN 标 ...

  10. Operation not permitted引发的惊魂72小时

    0.问题及描述 在测试产品的时候,莫名其妙发现了我们的主进程VPNd会出现以下的报错: 2013-07-18 13:05:13  www.1.com/192.168.200.220:65527 wri ...