jmeter命令行运行-单节点
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命令行运行-单节点的更多相关文章
- jmeter命令行运行-分布式测试
上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...
- Jmeter命令行运行配置环境变量
Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...
- Jmeter命令行运行实例讲解
1. 简介 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法. 1.1. 命令介绍 jmeter -n -t & ...
- jmeter命令行运行与生成报告
一. 使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...
- jmeter 命令行运行与生成报告
一. 使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...
- Jmeter命令行 传递参数
二.参数 -J 和 -G 1.格式:-J变量名=值 -G变量名=值 2.相同之处:设置jmeter属性,例如线程数.循环次数.ramp up-time等 3.不同之处:-J是设置本地jmeter属性 ...
- jmeter命令行模式运行,实时获取压测结果
jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...
- Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)
1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...
- JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)
在使用JMeter进行性能测试时,以下情况经常出现: 1.测试过程中,指定运行的线程数.指定运行循环次数不断改变: 2.访问的目标地址发生改变,端口发生改变,需要改写脚本. 上面的问题在GUI中,直接 ...
随机推荐
- CLR_Via_C#学习笔记之枚举
CLR_Via_C#学习笔记之枚举 枚举类型(Enum)定义的一组"符号名称/值"配对:因为枚举类型使用程序更容易编写.阅读和维护,而且它是强类型: 枚举是值类型:由System. ...
- Scrum与高效能人士
Scrum与高效能人士的执行4原则 分享了高效能人士的执行4原则,发现它和Scrum非常相近,可以形成互补. Scrum框架: 高效能人士的执行4原则框架: Scrum与4原则 Sprint Ba ...
- Linux环境进程间通信(四):信号灯
linux下进程间通信的几种主要手段: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允 ...
- socket网络编程快速上手(二)——细节问题(1)
三.细节问题一个也不能少 Socket编程说简单也简单,程序很容易就能跑起来,说麻烦还真是麻烦,程序动不动就出问题.记得刚开始写网络代码的时候,那真是令人抓狂的经历,问题一个套一个,一会服务器起不来了 ...
- ASP.NET MVC3开发 - CodeFisrt数据库篇之M层验证之调用远程方法(Remote)验证
本文讲述在作者在使用.net mvc3进行开发的时候用到的两种调用远程验证的方法,第一种方法比较傻瓜,第二种方法方便好用,调用远程验证是个比较常见的验证方法,比如注册用户时的用户名唯一性验证. 作者原 ...
- iOS多线程的初步研究(六)
iOS多线程的初步研究(六) iOS平台提供更高级的并发(异步)调用接口,让你可以集中精力去设计需完成的任务代码,避免去写与程序逻辑无关的线程生成.运行等管理代码.当然实质上是这些接口隐含生成线程和管 ...
- FpGrowth算法
FpGrowth算法 频繁项集与关联规则挖掘(2)--FpGrowth算法 上一篇介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,过滤了很多无关的 ...
- 一步步学习Python-django开发-建立django数据库
上篇文章建立了一个空的网站.现在我们要准备正式我们的网站开发咯.那么开发的第一步是啥呢?当然是要确定做什么网站了.每个人的开发习惯可能不尽相同,有点可能是从前端开始设计,有的可能是从数据库开始设计(不 ...
- Citrix 服务器虚拟化之六 Xenserver虚拟机创建与快照
Citrix 服务器虚拟化之六 Xenserver虚拟机创建与快照 在Xenserver上可以创建Windows和Linux等虚拟机,Xenserver支持大部分的主流操作系统,可以使用 XenCe ...
- python tornado nginx deployment tornado 的部署在linux Nginx服务器
题外话: 这里分享一个链接是将Flask 和 Apache 用 mod_wsgi 来进行传唤的部署方式,在digital ocean VPS 上的. https://www.digitalocean. ...