开源已经成为一个趋势,虽然说做测试是一个低端的行业,但是我们也应该在这个低端的行业慢慢提升自己,让自己到达理想的高度。

  以前说如果你会使用loadrunner可能别人就会觉得你有一定的水平那么就会拿高薪聘请你,可是现在已经不一样了,如果你只是会实用工具还不行,而且还是那高昂的收费工具,你应该学会语言,脚本语言、开发语言~~~~~~~~~~~

  以前总听他们说JMeter但是自己并没有在意,但是现在因为项目需要慢慢的弄了,这里分享一下学习过程。

  一、环境搭建

  1、JMeter的环境搭建这个和java开发环境差不多,首先下载一个JDK然后安装好,将环境变量配置好(省略具体)

  2、JDK安装完成之后需要下载JMeter,随便搜索一下就有了。我下载到:D:\JMeter  看自己习惯(这是解压后的文件目录)

  3、将JMeter下载后解压并且配置环境变量:在用户变量中,新建变量名"JMETER_HOME",变量值为:D:\JMeter\jakarta-jmeter-2.3.4,修改"CLASSPATH",加;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar  到这里就算基本完成,然后cmd 查看 java版本,如果有那么就说明你安装成功了。

  4、这个时候你只需要启动JMeter 的bin目录下面的jmeter.bat文件就行 如果正常启动并且看到界面那么你就安装成功了。

 大家看到成功的页面可能和我刚开始学的时候一样模糊,不知道这个怎么做,那么接下来说说JMeter的搭档,因为我用的时候就是使用JMeter和badboy一起使用的,badboy是一款自动化测试工具,但是他还有一个功能就是能够将录制、修改好的脚本导出来添加到JMeter中,这样是不是很方便,这样就有了loadrunner的意思了,但是和大小将近4G的LR比起来这个小巧精致了很多。

  5、badboy 可以自己在http://www.badboy.com.au/download/index  这里下载一个最新的版本就行 是一个.EXE文件下载好直接安装就行。

  6、在录制完脚本后点击File下面的export to jmeter就可以了

  7、导出脚本后在JMeter中直接将该脚本添加进去就行。

到这里一个简单的东西都建立完成了

  二、JMeter练手

  首先要知道JMeter做性能测试的一个大概原理,因为只有这样你才知道该怎么做,其实和LR差不多。在JMeter中使用的是线程来实现,这个就好比LR中的虚拟用户数,在JMeter中我们很多时候关注的就是他的QPS(Query Per Second):每秒查询率,简单点说就是服务器每秒钟处理的查询次数。

  1、JMeter启动的时候就有一个空的Test Plan ,我们只需要将之前body录制的脚本导入到这里就行了,在导入的脚本中这里只有一个线程,换言之就是只有一个虚拟用户,所以我们需要在线程组里面添加。这里添加一句:在一个Test Plan里面可以添加多个线程组,而且在运行的时候他们是并行的。

  2、这里我们只需要将名字、线程数、Ramp-up period(in seconds)准备时间、循环次数设置一下就可以了,最主要的就是线程数、Ramp-up period(in seconds)运行时间、循环次数     

线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本

  3、说道这里大家可以看看http请求,因为我们的脚本是导入的,所以这一块儿就不想洗讲解了,可以看看其他的资料。选择线程组下的添加选择sampler 进行添加http请求。

  4、定时器的操作比较有用,Constant Throughput Timer (常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量。(选择http请求菜单选择添加--->定时器--->Constant Throughput Timer) 主要说一下下面的一个参数Target throughput(in samples per minute):目标吞吐量。每分钟发送的请求数。

  5、添加完虚拟用户后现在就需要添加监听器,直接就是在线程组选择“添加--->监听器--->聚合报告”就行了,接下来就是运行脚本了。

  6、这里一个大概的了解入门基本结束,就只有聚合报告的一些参数解释了。这里基本和LR的差不多,在报告结果页面的samples就是代表发送了多少请求,average说的是平均响应时间。

整理这破东西差不多耗时一下午,继续学习!

JMeter 学习笔记从不懂慢慢提升(01)的更多相关文章

  1. JMeter学习笔记01-安装环境

    记录关于JMeter学习的内容.方便复习. 1)JMeter运行环境 因为JMeter是用纯java写的.所以运行的时候需要java的运行环境. 去java官网下载,点免费下载或所有Java下载都行, ...

  2. jmeter学习笔记(一)

    1.添加JSON Path Extractor >>下载地址:http://jmeter-plugins.org/downloads/all/,下载 JMeterPlugins-Extra ...

  3. JMeter学习笔记(五)-总结

    本周主要学习了JMeter如下几方面内容: (1)Bdboy录制方式: (2)JMeter的代理录制方式: (3)关联,在关联时我们要找到哪些内容是要关联的,这个主要通过分析哪些内容是由服务器返回的, ...

  4. JMeter学习笔记(二) 一些实际应用的基础操作

    我在CSDN上面找到一位大师整理的jmeter性能测试基础,分享到这里继续学习 https://blog.csdn.net/u011541946/article/category/6893578/1

  5. JMeter学习笔记(一) 工具的安装和基本介绍

    因为网上的资料比较多,就不多描述了,在此引用了其他大神的文档,用于学习 这个文档中有比较详细的jmeter工具介绍: https://wenku.baidu.com/view/64f3a5f75901 ...

  6. Jmeter学习笔记(二十三)——生成HTML性能报告

    有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能报告的.这篇博客,简单介绍下在利用jmeter进行性能测试时,是如何生成HTML的可视化测试报告的 一.准备工作 1:j ...

  7. Jmeter学习笔记(五)——dubbo接口测试

    一.什么是dubbo接口 Dubbo 接口是阿里巴巴开源的致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,dubbo框架告别了传统的web service的服务模式,进而改用 ...

  8. JMeter学习笔记16-如何输出HTML格式的性能测试报告

    文本来学习下,如何输入HTML格式的JMeter测试报告.前面已经介绍, 如果要做性能测试,需要在GUI上设计好你的Test Plan,设置各种场景和负载值,包括多少个线程,多少个用户,循环多少次.设 ...

  9. Jmeter学习笔记TWO

    使用非GUI模式运行Jmeter脚本并自动生成测试报告 命令:jmeter -n -t tougu.jmx -l result.jtl -e -o /tmp/ResultReport 这个命令是用于执 ...

随机推荐

  1. HTML5的manifest缓存

    要使用manifest缓存,我们首先需要写一个manifest文件.这个文件有严格的格式要求,下面是个例子CACHE MANIFEST#我是注释,这个文件名叫test.manifestCACHE:/t ...

  2. sql联接那点儿事儿

    1.交叉联接(cross join) select * from t.toy ,b.boy from toy as t cross join boy as b 其效果同select * from t. ...

  3. MySQL CURDATE() 函数

    定义和用法 CURDATE() 函数返回当前的日期. 语法 CURDATE() 实例 例子 1 下面是 SELECT 语句: SELECT NOW(),CURDATE(),CURTIME() 结果类似 ...

  4. MapReducer Counter计数器的使用,Combiner ,Partitioner,Sort,Grop的使用,

    一:Counter计数器的使用 hadoop计数器:可以让开发人员以全局的视角来审查程序的运行情况以及各项指标,及时做出错误诊断并进行相应处理. 内置计数器(MapReduce相关.文件系统相关和作业 ...

  5. ES6学习(1)——如何通过babel将ES6转化成ES5

    使用babel编译ES6 babel是一个工具,可以通过多个平台,让js文件从ES6转化成ES5,从而支持一些浏览器并未支持的语法. Insall babel $ sudo npm install b ...

  6. Windows下cmd的替代软件——PowerCmd

    Powercmd 是一款运行在windows下的cmd增强软件(A Better Command Prompt Replacement Tool),当前最新的版本为2.2. 官方提供试用版,貌似没有功 ...

  7. HDU 5831 Rikka with Parenthesis II (栈+模拟)

    Rikka with Parenthesis II 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5831 Description As we kno ...

  8. 关闭SELinux的两种方法

    1 永久方法 – 需要重启服务器 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器. 2 临时方法 – 设置系统参数 使用命令setenforce ...

  9. Global.asax.cs介绍

    转载  http://www.cnblogs.com/tech-bird/p/3629585.html ASP.NET的配置文件 Global.asax--全局应用程序文件 Web.config--基 ...

  10. UVaLive 6625 Diagrams & Tableaux (状压DP 或者 DFS暴力)

    题意:给一个的格子图,有 n 行单元格,每行有a[i]个格子,要求往格子中填1~m的数字,要求每个数字大于等于左边的数字,大于上边的数字,问有多少种填充方法. 析:感觉像个DP,但是不会啊...就想暴 ...