Jmeter的简单使用
前言
对于jmeter的使用有很多内容,本章节只是简单介绍jmeter的两个方面的内容:一个是使用jmeter模拟postman发送http请求,一个是使用jmete进行压力测试。
更多的内容请参考官方文档:http://jmeter.apache.org/
一.jmeter的下载及简单使用
1.jmeter的下载
下载地址http://jmeter.apache.org/download_jmeter.cgi

本节使用的是jmeter5.0
jmeter不需要安装就可以使用,由于jmeter是使用java编写的的,所以要运行jmeter必须已经安装了jdk配置好了java的环境变量,作为开发的小伙伴,这些基本操作应该我就不啰嗦了。
下载完之后解压,打开程序有两种方法,一是进入bin目录点击jmeter.bat,即可运行jmeter客户端,打开会弹出两个窗口,一个是jmeter的命令窗口,一个是GUI窗口;二是直接进入bin目录下双击ApacheJMeter.jar即可运行GUI。对于两种方法的区别还不是特别清楚,如果有知道的小伙伴,就不要吝啬了,分享才是快乐的。
下面,我将使用第一种方法来演示。

打开界面可以选择语言为中文,但是下次打开还是英文,如果想一直都是英文,可以修改配置文件,网上有教程,我就不多说了。
二.发送http请求报文
这个相当于用postman发送请求的功能一样,也算是一个替代功能吧,如果不想使用postman的可以使用这个功能,发送之前如果是post请求的话要设置报文头和报文体,但是如果是get请求则不用设置报文体。
1.创建一个线程组
选择TestPlan,右键添加

然后就可以设置线程数了,一个线程数代表一个用户,因为这里我只模拟发送报文,所以就设置一个线程,下面的都默认即可;

2.添加一个HTTP请求

添加完成之后,可以设置要发送的ip、端口、上下文路径和请求的方法等,当然ip处也可以使用域名,端口可以不写,默认是80;

3.设置报文头

然后点击添加,添加字段和值

4.添加结果树
为了查看请求结果,需要添加请求树(右键已经创建的线程组),可以根据自己的需要,添加聚合报告等等,此处的添加的结果树可以查看一个请求返回的结果;

5.启动发送请求

6.小案例
模拟发送一个https://blog.csdn.net/zhuxy604/article/details/81012477,然后查看返回结果
a.设置线程组信息
默认即可

b.设置http请求

c.启动发送,查看返回结果

三.使用jmeter进行压力测试(重点)
前面已经讲过了怎么使用jmeter进行发送请求,这节就是在这个基础之上在升级,学会使用jmeter进行压力测试;(参考https://www.cnblogs.com/stulzq/p/8971531.html)
此节是本人查阅资料,然后实践总结出来的;遇到了很多问题也学会了如何处理这些问题;
压力测试不能使用GUI界面进行,GUI界面只是辅助,使用压力测试要从命令窗口进行。
1.使用前的准备
a.需不需要配置jmeter的环境变量?
答:不需要,但是windows打开命令窗口,输入jmeter命令会提示不是内部命令,原因是命令是在C盘的路径下,所以找不到命令,如果不配环境变量,就不能使用这种方法,解决办法是,命令窗口打开后,切换到jmeter的bin目录下,然后使用jmeter命令就可以识别了。

b.如何使用命令?
jmeter的命令有很多,此处只介绍压测时要执行的命令:
jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport
说明:
testplan/RedisLock.jmx 为测试计划文件路径
testplan/result/result.txt 为测试结果文件路径
testplan/webreport 为web报告保存路径。
这三个路径都是可以自定义的,为了方便起见,我就按照这个目录,这里是相对路径,意思就是在jmeter的路径下有个testplan的文件夹,如果没有,则要手动新建,其中RedisLock.jmx是自己要执行的测试计划文件,result.txt是自动生成的结果文件,每次会自动新建,所以每次测试完都要手动删除此文件,不然会报已经存在文件的错误,
testplan/webreport这个是压测完成之后生成报告的路径,新建好目录之后,内容也会自动生成(每次压测完还要进行下次压测,记得一定要清空此文件夹的内容),生成的内容中有一个index.html的文件就是压测结果的报告,测试完之查看此报告;注意:result和webreport不要使用一个文件夹,因为生成报告的时候要求这两个目录都为空,但是生成报告的过程是有先后顺序的,一个先生成,后生成的那个就会因为目录不为空而报错。

c.关于压测参数的说明:
(参考:https://blog.csdn.net/a656678879/article/details/80053645)
- 线程数:并发数量,能跑多少量。具体说是一次存在多少用户同时访问
- Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。
- 循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数
- 调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。
测试报告的结果(吞吐量)tps,表示同一时刻可以接受的用户数量,tps越高表示性能越好,这个和应用的优化有很大关系,单台机器的tps是有限的,生产上可以使用负载均衡来提高用户的并发访问量;下面的案例只是本机单台的压测,压测过程中,打开linux,使用top命令来查看CUP和内存的占用情况,CUP占用最高的程序将会放在第一行。
2.小案例
准备工作已经准备完毕后
1.打开Jmeter
打开自己已经保存的执行计划(注意的是此测试计划和CMD窗口命令中的测试计划一定要是同一个,要不然参数设置和执行的不是同一个测试计划),然后设置线程数、Rame-Up Period(in seconds)和循环次数的参数,记得一定要点击保存按钮,不然不生效。

2.CMD打开windows命令窗口
切换到jmeter的bin目录下

3.执行压测命令
(在说一遍:此处执行的测试计划要和窗口的测试计划是同一个)
jmeter -n -t testplan/登录-HTTP请求.jmx -l testplan/result/result.txt -e -o testplan/webreport

4.查看生成的报告


关于测试报告,网上查看说明,请自行查阅,这里就不赘述了。
Jmeter的简单使用的更多相关文章
- Jmeter教程 简单的压力测试
Jmeter教程 简单的压力测试:http://www.cnblogs.com/TankXiao/p/4059378.html
- jmeter教程--简单的做压力测试
Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 什么是压力测试 顾名思义:压力测试,就是 被测试的系统,在 ...
- 【JMeter】JMeter进行简单的数据库(mysql)压力测试
JMeter进行简单的数据库(mysql)压力测试 1.点击测试计划,再点击“浏览”,把JDBC驱动添加进来: 注:JDBC驱动一般的位置在java的安装地址下,路径类似于: \java\jre ...
- 使用jmeter做简单的场景设计
使用jmeter做简单的场景设计 Jmeter: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试.我之所以选择它,最重要的一点就是----开源 个人 ...
- Jmeter实现简单web负载测试
Jmeter实现简单web负载测试 简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. ...
- Jmeter教程 简单的压力测试【转】
Jmeter教程 简单的压力测试[转] Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力 ...
- 压力测试之badboy和Jmeter的简单使用方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 所谓压力测试是指,通过确定一个系统的瓶颈或者不能接收的性能点, ...
- 使用JMeter进行简单的压力测试
一.压力测试 顾名思义:压力测试,就是 被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况). 比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速 ...
- 使用Jmeter进行简单的http接口测试
1.添加线程组:在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定 ...
- Jmeter的简单练习
一.安装Jmeter 1.下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版为2.9,其余文件如源代码等也可从如下官网下载 ...
随机推荐
- "为文本添加下划线"组件:<u> —— 快应用组件库H-UI
 <import name="u" src="../Common/ui/h-ui/text/c_tag_underline"></impor ...
- Struts2-学习笔记系列(2)-常量配置和实现action
1.常量配置 在struts配置文件中,下面突出部分,就是常量配置. <constant name="struts.enable.DynamicMethodInvocation&quo ...
- A Bug's Life POJ - 2492 (种类或带权并查集)
这个题目的写法有很多,用二分图染色也可以写,思路很好想,这里我们用关于并查集的两种写法来做. 题目大意:输入x,y表示x和y交配,然后判断是否有同性恋. 1 带权并查集: 我们可以用边的权值来表示一种 ...
- Complete the Sequence HDU - 1121
题目大意: 输入两个数n和m,n表示有n个数,这n个数是一个多项式的前n项,让输出这个序列的n+1,n+2,..n+m项. 题解:差分规律,一直差分,直到全为0或者只剩下一个数.然后再递推回去. 给出 ...
- 负载均衡服务之HAProxy基础配置(二)
前文我们聊了下haproxy的global配置段中的常用参数的说明以及使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12763245.html:今天我们来 ...
- python 工具链 多版本管理工具 pyenv
理解Shims pyenv会在系统的PATH最前面插入一个shims目录: $(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin 通过一个rehashing ...
- Java IO 流 -- 设计模式:装饰设计模式
在java IO 流中我们经常看到这样的写法: ObjectOutputStream oos = new ObjectOutputStream( new BufferedOutputStream(ne ...
- Mac安装多版本JDK
0. 配置JDK环境 安装完成之后,配置.bash_profile文件 使用source ./bash_profile激活 2. 如何切换默认的jdk? 使用java -version就可以看默认版本 ...
- SVN diff
http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.diff.html Name svn diff (di) — This displays the di ...
- Libra教程之:Libra protocol的逻辑数据模型
文章目录 Libra protocol简介 逻辑数据模型 账本状态 交易 账本历史 Libra protocol简介 Libra区块链本质上是一个加密数据库,这个数据库是通过Libra protoco ...