Jmeter的简单使用

 

前言html

对于jmeter的使用有不少内容,本章节只是简单介绍jmeter的两个方面的内容:一个是使用jmeter模拟postman发送http请求,一个是使用jmete进行压力测试。java

更多的内容请参考官方文档:http://jmeter.apache.org/linux

一.jmeter的下载及简单使用

1.jmeter的下载

下载地址http://jmeter.apache.org/download_jmeter.cgiweb

本节使用的是jmeter5.0apache

jmeter不须要安装就可使用,因为jmeter是使用java编写的的,因此要运行jmeter必须已经安装了jdk配置好了java的环境变量,做为开发的小伙伴,这些基本操做应该我就不啰嗦了。windows

下载完以后解压,打开程序有两种方法,一是进入bin目录点击jmeter.bat,便可运行jmeter客户端,打开会弹出两个窗口,一个是jmeter的命令窗口,一个是GUI窗口;二是直接进入bin目录下双击ApacheJMeter.jar便可运行GUI。对于两种方法的区别还不是特别清楚,若是有知道的小伙伴,就不要吝啬了,分享才是快乐的。并发

下面,我将使用第一种方法来演示。负载均衡

打开界面能够选择语言为中文,可是下次打开仍是英文,若是想一直都是英文,能够修改配置文件,网上有教程,我就很少说了。post

二.发送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)

  1. 线程数:并发数量,能跑多少许。具体说是一次存在多少用户同时访问
  2. Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数须要多长时间所有启动。若是线程数是20,准备时长为10,那么须要10秒钟启动20个数量,也就是每秒钟启动2个线程。
  3. 循环次数:这个设置不会改变并发数,能够延长并发时间。总请求数=线程数*循环次数
  4. 调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。

测试报告的结果(吞吐量)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.查看生成的报告

关于测试报告,网上查看说明,请自行查阅,这里就不赘述了。

相关文章
相关标签/搜索