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 这个命令是用于执 ...
随机推荐
- springmvc里面的中文乱码问题
如果是以get方法提交的表单,则可以在comcat服务器的server.xml文件里面设置 <Connector connectionTimeout="20000" port ...
- 【原】Storm 入门教程目录
Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Storm调度器 Storm配置 Guaranteeing Message Processing(消息处理 ...
- ORA-15041: diskgroup space exhausted
今天在做一个备份的时候,出现磁盘耗尽的错误,具体如下: RMAN-00571: =========================================================== ...
- 学习Python编程的11个资源
用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程语言.如果你正打算学习 web 开发,Python 是一个不错的选择,甚至你想学游戏开发也可 以从 Python 开始,因 ...
- C++11 之 " = delete "
1 缺省函数 设计一个类,没有成员函数 (member function),只有成员数据 (member data) class DataOnly { private: std::string st ...
- Winxp下搭建SVN服务器
本文介绍一种在winxp下搭建SVN服务器的方法. (1) 需要下载Slik-Subversion和TortoiseSVN两个软件.我使用的版本是Slik-Subversion-1.8.3-1-win ...
- File-nodejs
文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集.您可以通过调用require('fs')来获取该模块.文件系统模块中的所有方法均有异步和同步版本. 文件系统模块中的异步方法需要 ...
- (原创)spring mvc和jersey rest 组合使用时单例对像实例化两次的BUG及解决办法
项目中没用spring 的restTemplate 而是采用 jersey来做rest 的实现,一直用着,也没发现有什么不对,后来加入了,以quartz用硬编码方式实现,结果启动项目的时候报错 ,具体 ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- URAL 2040 Palindromes and Super Abilities 2 (回文自动机)
Palindromes and Super Abilities 2 题目链接: http://acm.hust.edu.cn/vjudge/contest/126823#problem/E Descr ...