二、JMeter核心组件与实战


组件串联顺序:配置元件 > 前置处理器 > 定时器 > 采样器 > 后置处理器 > 断言 > 监听器

1. Thread Group

线程组控制总体并发,通过右击测试计划添加

(1) Thread Properties

  • Number of Threads (users):线程数,即虚拟用户数(一个虚拟用户占用一个进程或线程)
  • Ramp-up period (seconds):全部线程启动的时长(不是线程组的运行时间周期)
  • Loop Count:每个线程运行的次数,可以勾选无限循环(置空会无限循环)

Summary

  • 线程运行总次数 = < Number of Threads (users) > * < Loop Count >
  • 每秒启动线程数 = < Number of Threads (users) > / < Ramp-up period(seconds) >
  • 一个线程启动后就会开始运行(而不是等所有线程启动好才开始),运行< Loop Count >次结束

请添加图片描述
请添加图片描述

(2) Start

线程组可以被单个或全部运行
请添加图片描述

2. Config Element

配置元件通过右击测试计划、线程组或采样器添加,其下可以添加变量

  • 变量在一处定义后,可以被四处使用,通常可以应变于测试数据(比如服务器地址)的更改
  • 变量可以在 User Defined Variables 中添加,也可以从 CSV Data Set Config 中配置的 CSV 或 TXT 文件中读取
  • 变量引用方式:${variable_name}

请添加图片描述

(1) User Defined Variables

可添加一个或多个用户自定义变量
请添加图片描述

(2) CSV Data Set Config

CSV和TXT文件里面的参数可以被读取以进行压测

1) Steps

  1. 在.csv或.txt文件中按行存储实参
  2. 在JMeter中将该文件引入为CSV数据源
  3. 以“variable_name1,variable_name2,…”的格式定义形参,并与文件中的实参按列对应
  4. 以${variable_name}的格式使用变量
  5. 若引入的是.txt文件,确保多参数分隔符与实参存储文件中的一致

2) Results

  • 线程每运行一次就会从文件中按行读取一次实参
  • 当线程运行次数大于实参行数,就会再从首行重新读取
    请添加图片描述
    请添加图片描述

3. Sampler

采样器通过右击线程组添加,一个线程组下面可以增加多个
请添加图片描述

  • 名称:采样器名称
  • 注释:对这个采样器的描述

HTTP Request

  • 默认协议是http
  • 服务器名称或IP :请求的目标服务器名称或IP地址
  • 默认端口是80
  • 路径:服务器URL
  • Use multipart/form-data:当发送POST请求时,使用Use multipart/form-data方法发送,默认不选中

4. Assertions

断言通过右击测试计划、线程组或采样器添加

Response Assertion

请添加图片描述

  • apply to(应用范围):
    • Main sample only: 仅当前父取样器进行断言,一般一个请求,如果发一个请求会触发多个,则就有sub sample(比较少用)
  • 要测试的响应字段:
    • 响应文本:即响应的数据,比如json等文本
    • 响应代码:http的响应状态码,比如200,302,404这些
    • 响应信息:http响应代码对应的响应信息,例如:OK, Found
    • Response Header: 响应头
  • 模式匹配规则:
    • 包括:包含在里面就成功
    • 匹配:响应内容完全匹配,不区分大小写
    • equals:完全匹配,区分大小写
  • Custom failure message:定制的断言失败信息,不填会使用默认的

5. Listener

监听器监听线程组运行后的结果,通过右击测试计划、线程组或采样器添加
请添加图片描述

(1) View Results Tree

查看结果树监听器可以反馈线程组的运行结果(可切换Raw/Parsed视图)

  • 可以在每个采样器下面添加多个断言和一个结果树,再在最外层添加一个结果树进行汇总
  • 绿色代表成功,红色代表失败
    • 若是断言失败,双击失败记录,可以看到错误信息

请添加图片描述
请添加图片描述

(2) Assertion Results

断言结果监听器返回采样器的名称,若断言失败,也返回失败信息
请添加图片描述

(3) Aggregate Report

聚合报告记录压测的整体性能数据(响应时间相关参数的单位为毫秒)
请添加图片描述

  • Lable:Sampler的名称
  • Samples:一共发出的请求数,例如10个用户,循环10次,则是100
  • Average:平均响应时间
  • Median:中位数,50% 用户的响应时间小于此值
  • 90% Line:90% 用户的响应不会超过该时间 (90% of the samples took no more than this time. The remaining samples at least as long as this)
  • 95% Line:95% 用户的响应不会超过该时间
  • 99% Line:99% 用户的响应不会超过该时间
  • min:最小响应时间
  • max:最大响应时间
  • Error%:错误的请求的数量/请求的总数
  • Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps
    • 适当调大和调小线程组的线程数后反复测试,可以获取到吞吐量的峰值
  • Received KB/Sec:每秒接收的数据量
  • Sent KB/Sec:每秒发送的数据量

6. Panel Header

GUI JMeter 顶部有一些常用的按钮和压测数据显示

  • 查看/关闭运行日志:选中或取消选中options -> Log Viewer 或者 点击右上角⚠️图标
  • 全部展开/折叠:顶部 +/- 按钮
  • 右上角显示压测数据
    请添加图片描述
    请添加图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值