JMeter 学习笔记从不懂慢慢提升(01)
开源已经成为一个趋势,虽然说做测试是一个低端的行业,但是我们也应该在这个低端的行业慢慢提升自己,让自己到达理想的高度。
以前说如果你会使用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)的更多相关文章
- JMeter学习笔记01-安装环境
记录关于JMeter学习的内容.方便复习. 1)JMeter运行环境 因为JMeter是用纯java写的.所以运行的时候需要java的运行环境. 去java官网下载,点免费下载或所有Java下载都行, ...
- jmeter学习笔记(一)
1.添加JSON Path Extractor >>下载地址:http://jmeter-plugins.org/downloads/all/,下载 JMeterPlugins-Extra ...
- JMeter学习笔记(五)-总结
本周主要学习了JMeter如下几方面内容: (1)Bdboy录制方式: (2)JMeter的代理录制方式: (3)关联,在关联时我们要找到哪些内容是要关联的,这个主要通过分析哪些内容是由服务器返回的, ...
- JMeter学习笔记(二) 一些实际应用的基础操作
我在CSDN上面找到一位大师整理的jmeter性能测试基础,分享到这里继续学习 https://blog.csdn.net/u011541946/article/category/6893578/1
- JMeter学习笔记(一) 工具的安装和基本介绍
因为网上的资料比较多,就不多描述了,在此引用了其他大神的文档,用于学习 这个文档中有比较详细的jmeter工具介绍: https://wenku.baidu.com/view/64f3a5f75901 ...
- Jmeter学习笔记(二十三)——生成HTML性能报告
有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能报告的.这篇博客,简单介绍下在利用jmeter进行性能测试时,是如何生成HTML的可视化测试报告的 一.准备工作 1:j ...
- Jmeter学习笔记(五)——dubbo接口测试
一.什么是dubbo接口 Dubbo 接口是阿里巴巴开源的致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,dubbo框架告别了传统的web service的服务模式,进而改用 ...
- JMeter学习笔记16-如何输出HTML格式的性能测试报告
文本来学习下,如何输入HTML格式的JMeter测试报告.前面已经介绍, 如果要做性能测试,需要在GUI上设计好你的Test Plan,设置各种场景和负载值,包括多少个线程,多少个用户,循环多少次.设 ...
- Jmeter学习笔记TWO
使用非GUI模式运行Jmeter脚本并自动生成测试报告 命令:jmeter -n -t tougu.jmx -l result.jtl -e -o /tmp/ResultReport 这个命令是用于执 ...
随机推荐
- mysql操作时遇到的小问题
mysql数据库在程序中执行sql语句时,或者在执行sql时,数据库表可能会有一些特殊的字符,比如说#,.等,这样在执行时 可能会遇到问题 如以下的表名,backup_2014.2.22, 这个表在查 ...
- Python的列表排序
Python的列表排序 本文为转载,源地址为:http://blog.csdn.net/horin153/article/details/7076321 在 Python 中, 当需要对一个 list ...
- Oracle创建用户及表空间 代码片段
create tablespace testdatalogging datafile 'D:\oracle\oradata\orcl\testdata.dbf' size 50m autoextend ...
- struts2中访问和添加Application、session以及request属性
一.访问或添加Application.session.request属性 <一>方式一 HelloWorldAction类中添加如下代码 //此方法适用于仅对Application.ses ...
- 降低Java垃圾回收开销的5条建议
保持GC低开销的窍门有哪些? 随着一再拖延而即将发布的 Java9,G1(“Garbage First”)垃圾回收器将被成为 HotSpot 虚拟机默认的垃圾回收器.从 serial 垃圾回收器到CM ...
- ES6学习(2)——arrows箭头函数
Arrows => 箭头函数 箭头函数,若有了解过coffeeScript的同学,或许对此印象深刻,因为它可以让语法省略不少,特别是对于回调函数,会让代码更清晰简洁. expression 让我 ...
- [iOS基础控件 - 6.9.3] QQ好友列表Demo TableView
A.需求 1.使用plist数据,展示类似QQ好友列表的分组.组内成员显示缩进功能 2.组名使用Header,展示箭头图标.组名.组内人数和上线人数 3.点击组名,伸展.缩回好友组 code so ...
- HTML5 - HTML5 postMessage API 注意事项
一:发送 window.postMessage("Hello, world", "http://127.0.0.1:8080"); 注意,必须要加上http:/ ...
- java foreach编辑讲解
foreach语句使用总结 foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本,但是foreac ...
- HDU 5029 Relief grain 树链剖分打标记 线段树区间最大值
Relief grain Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid= ...