jmeter 实战使用
官网 Apache JMeter - Apache JMeter™
Apache JMeter
应用程序是开源软件, 一个纯Java
应用程序设计 加载测试功能行为并测量性能。它是 最初设计用于测试Web
应用程序,但具有 自扩展到其他测试功能后。
性能测试目的
- 提高页面响应速度
- 提升系统能承载的负荷
- 检测
CPU
使用率,保证不会导致系统卡顿 - 确保软件(
App
、网站)在用户使用的过程中运行流畅。
安装步骤
-
安装
JDK
,必须JDK1.7
以上的版本,推荐1.8
的版本 -
进入官网:http://jmeter.apache.org/download_jmeter.cgi 下载最新的
Jmeter
版本,下载后解压到非中文目录,如:D:\
-
配置
Jmeter
的环境变量- 新增变量:
JMETER_HOME:D:\apache-jmeter-5.2.1
- 在
CLASSPATH
变量的最前面加入如下变量:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
- 在
PATH
变量的最前面加入如下变量:%JMETER_HOME%\bin;
- 新增变量:
-
进入
D:\apache-jmeter-5.2.1\bin
,双击jmeter.bat
,或在dos
窗口输入jmeter
命令打开jmeter
界面,安装成功。
安装教程:windows下安装jmeter? mac下安装jmeter? So Easy那多不是事!写给jmeter入门的朋友!_测试逍遥子的博客-CSDN博客
Jmeter设置为中文
临时设置
Jmeter
菜单栏选择OptionsàChoose LanguageàChinese (Simplified)
这种方法,重启软件后又变为英文环境了。
永久设置
- 进入~目录,找到
jmeter.properties
文件,在文件的第37
行后添加language=zh_CN
,保存之后再打开jmeter
就永久变为中文环境了。
Jmeter 功能概览
基准测试
- 即单用户测试
并发测试
- 测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题
负载测试
- 模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。
压力测试
- 强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。
稳定性测试
- 测试持续一段时间访问接口,测试接口的稳定性。
业务场景测试
- 主要测试多个接口联动,模拟真实接口的调用,增加统一随机定时器模拟用户真实操作
测试实操
基准测试
- 右键点击测试计划 -> 添加 ->
Threads(Users)
-> 线程组 - 右键点击线程组 -> 添加 ->
Sampler
->HTTP
请求 - 右键点击线程组 -> 添加 -> 监听器 -> 察看结果树
并发测试
-
回到线程组,先选择一下测试的并发数(线程数),和并发时间,还有循环次数。这边的并发数指的即是模拟多少用户同时操作,并发时间指的是这些用户在多少时间内进行这些操作,比如是
1
分钟内的操作,那么可以设置为60
,循环次数指的是这样的操作需要执行多少次。
-
设置完成后我们保存一下,然后先切换到查看结果树页面,然后点击上方的绿色启动按钮,即可开始并发测试了,返回的数值在察看结果树这边显示,我们点击响应数据即可看到返回的
json
数据了。 -
如果是多个
API
是连贯操作,比如添加到购物车才能测下单,那么可以将这两个http请求挂在同一个线程组下面
测试报告
结果树视图
- 在结果树视图可以看到各个请求的具体响应结果,
Reponse data-Response Body
里可以看到请求的响应内容,也可以查看获取的html
界面。
聚合视图
- 聚合视图则是对并发测试最好的分析报告
Samples
请求数,Average
平均响应时间,Min
最小响应时间,Max
最大响应时间,Error
错误率及Throughput
吞吐量Error
错误率表示错误请求数/请求总数- 吞吐量表示单位时间完成的请求数