性能测试工具Jmeter简单使用

本文介绍了如何使用Jmeter进行性能测试,包括环境准备、测试计划配置、HTTP请求的创建、接口参数设置、结果查看以及服务器性能监控。详细阐述了线程数、Ramp-Up Period、循环次数等关键参数,并提供了添加HTTP消息头管理器和监听器的方法,以监控接口性能和服务器状态。
摘要由CSDN通过智能技术生成

一、环境准备
1)JDK安装及配置环境变量
2)下载Jmeter
官网下载地址:http://jmeter.apache.org/download_jmeter.cgi
老版本的下载地址:https://archive.apache.org/dist/jmeter/binaries/
本人使用的是apache-jmeter-3.1
3)下载之后解压,双击bin目录下的jmeter.bat启动Jmeter
二、测试
1)右键点击“测试计划” -> “添加” -> “Threads(Users)” -> “线程组” ,可配置线程数,准备时长(Ramp-Up Period(in seconds))循环次数,调度器等参数:
在这里插入图片描述
参数解释:
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
Delay Thread creation until needed:直到需要时延迟线程的创建。
调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间
启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手 动只需测试时当前时间也会覆盖它。
结束时间:测试结束时间,持续时间会覆盖它。
2)新建HTTP请求。
右键点击“线程组” -> “添加” -> “Sampler” -> “HTTP请求”
举个例子,例如我的接口请求地址是:
http://10.10.77.142:30110/algorithm/603/1.0.0
在这里插入图片描述
3)如上图所示,接口的参数是Json格式的话,把json放进Body Data里,然后再右键点击线程组-》添加配置元件-》添加HTTP消息头管理器,在消息头管理器中增加Content-Type = application/json
在这里插入图片描述4)接口运行结果的查看
右键点击“线程组” -> “添加” -> “监听器” -> “察看结果树”
右键点击“线程组” -> “添加” -> “监听器” -> “聚合报告”

5)如果想看测试接口所在服务器的性能情况,如cpu、内存、io等,可按照以下步骤进行,如不需要则跳过。
5.1)我所用的版本及下载地址

JMeterPlugins-Standard-1.4.0 可下载最新的

下载地址:https://jmeter-plugins.org/downloads/old/

ServerAgent 2.2.1.zip

下载地址:https://jmeter-plugins.org/wiki/PerfMonAgent/
5.2)解压JMeterPlugins-Standard-1.4.0.zip,将其中\lib\ext\JMeterPlugins

-Standard.jar包复制到JMeter安装目录下的\lib\ext下
5.3)重启JMeter,在监听器的选项中增加了一些jp@gc开头的监听器,监控CPU、内存、I/O的监听就是jp@gc-PerfMon Metrics Collector,选择添加jp@gc-PerfMon Metrics Collector,然后填写一些信息,如下图
在这里插入图片描述
5.4)
1)将下载好的ServerAgent-2.2.1.zip通过放到服务器指定目录下

2)解压:unzip ServerAgent-2.2.1.zip

3)启动服务:bash startAgent.sh

注:如果没有执行权限,需要先授权,chmod 777 startAgent.sh

如果要将该文件设置为后台执行不关闭,Nohup ./startAgent.sh &

6)点击启动,运行脚本,可查看结果树和聚合报告的接口运行情况,如果配置了上述第五步,点击图中红色区域的位置,可查看服务器的运行状况
在这里插入图片描述
关于聚合报告中的参数解释如下:
聚合报告参数详解:
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:错误率——错误请求数/请求总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值