人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

一、JMeter介绍

  JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

  简单来说,JMeter是主要用于执行负载测试、性能测试和压力测试的工具。负载测试、性能测试和压力测试概念:

   负载测试: 这类测试使系统或者应用程序在预先设计好的极端场景下测试运行。这类测试用来评估系统或者程序在极端条件下的行为。

  性能测试: 这种测试被用来检测系统的性能表现,包括特定情况下,系统的响应能力和稳定性。

  压力测试: 这类测试通过载入更多的外部资源,并使系统组件超越其所设定的能力范围,试图使系统挂掉。

 

二、下载配置安装

 

  1.下载地址:http://jmeter.apache.org/download_jmeter.cgi  (在下载安装JMeter之前,要先配置好java环境才可使用JMeter)。

 

  

 

 

  2.下载完成后,解压到你想解压的位置

 

  3.配置环境变量

    ①在用户变量量中新建用户名“JMETER_HOME”,变量值为“D:\apache-jmeter-5.1.1\apache-jmeter-5.1.1” (这里是你自己的解压后的文件夹的地址)。

      

 

    ②在系统变量中的"CLASSPATH"追加“;%JMETER_HOME%\lib\ext \ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib \logkit-1.2.jar;”。

 

      

 

 

      在这里有一点需要注意,在我的安装目录中并没有找到lib\logkit-1.2.jar这个jar包,所以,在这里需要自行下载一个jar包到lib目录下。下载地址:http://www.java2s.com/Code/Jar/l/logkit.htm

 

 (别忘了解压到JMeter的lib目录下哦)

 

    4.打开JMeter

    打开bin目录下的JMeter的bat文件,即可运行打开JMeter。

 

    

   

   

 

三、JMeter入门压测实例

 

  1.新建一个线程组。JMeter是java实现的,并且使用一个java线程来模拟一个用户,因此线程组就是一组虚拟用户的意思。这些虚拟用户是用来模拟访问被测系统。

 

  

 

  2.设置线程参数。

    ①线程数(用户):想要模拟的虚拟用户的数量。

    ②Ramp-Up Period (in seconds)(虚拟用户增长时长):设置的虚拟用户访问url的时长,是在一个时间同时访问,还是在一段时间持续访问。

     这里引用一个前辈举的例子:

  比如你测试的是一个考勤系统,那么实际用户登录使用考勤系统的时候并不是大家喊1、2、3 - 走起,然后一起登录。实际使用场景可能是9点钟上班,那么从8:30开始,考勤系统会陆陆续续有人开始登录,直到9:10左右,那么如果完全按照用户的使用场景,设计该测试的时候此处应输入40(分钟)* 60(秒)= 2400。但是实际测试一般不会设置如此长的Ramp-Up时间,原因嘛,难道你做一次测试要先等上40分钟做登录操作?一般情况下,可以估计出登录频率最高的时间长度,比如此处可能从8:55到9:00登录的人最多,那这里设置成300秒,如果“线程数”输入为100,则意味着在5分钟内100用户登录完毕。 

 ③循环次数:设置一个虚拟用户循环做多少次测试,默认为1,做完一遍就结束。选中“永远”运行起来永远不会停止,一直循环,只能手动停止了。

 

   

 

 

  3.添加被测的页面url或接口

 

  

 

 

 4.点击运行,开始压测

 

 

 

5.查看运行日志

 

 

 

 

 6.新增监听器,用于查看压测结果。这里添加3种:聚会报告、图形报告、用表格查看结果,区别在于结果展现形式的不同。

 

 

 

 

 

 再次运行,进行压测,监听结果如下:

 

 

 

其他关于JMeter庞大的功能,待我后续挖掘~

posted on 2019-09-19 16:43  测试开发喵  阅读(30552)  评论(1编辑  收藏  举报