一、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庞大的功能,待我后续挖掘~