控制器位于 JMeter循环、逻辑、事务

⚡ 智能摘要

逻辑控制器 JMeter 使用诸如 Loop、Random、Simple、Module 和 Recording 等控制器,确定用户请求在线程中的执行顺序。ping 性能测试计划如何向服务器发送请求。

  • 🎛️ 逻辑控制器: 控制器设置线程中请求的运行顺序。
  • 🔁 回路控制器: 在线程循环中运行采样器指定次数。
  • 🎲 随机控制器: 每次循环都以随机顺序运行子请求。
  • 🧩 模块控制器: 通过选择运行哪个模块来增加模块化。
  • ⏺️ 录音控制器: 商店记录的测试步骤仅作为占位符。
  • 🤖 人工智能协助: 人工智能有助于设计和分析 JMeter 性能测试计划。

控制器位于 JMeter

什么是逻辑控制器?

逻辑控制器允许您定义线程中处理请求的顺序。它允许您控制“何时”将用户请求发送到 Web 服务器。例如,您可以使用随机控制器随机向服务器发送 HTTP 请求

逻辑控制器确定 订单 在其中执行用户请求。

一些常用的逻辑控制器如下:

逻辑控制器

录音控制器

JMeter 也可以是 记录 您的 测试与验证 步骤;录音控制器是 占位符 存储这些记录步骤。

录音控制器

简单控制器

简单控制器只是一个 容器 以满足用户请求。

简单控制器

回路控制器

循环控制器使用户请求运行 指定次数 或跑步 永远 如图:

回路控制器

随机控制器

随机控制器使所有用户请求运行在 随机的 每个循环周期内的顺序。

例如,您有 3 个用户对网站的请求 http://www.google.com 按以下顺序:

  1. HTTP请求
  2. FTP 请求
  3. JDBC 请求

这 3 个请求应该运行 5 次。总共会向服务器发送 15 个用户请求。 Google 服务器 JMeter.

In 顺序 订单,请求已发送 依次 按以下顺序:

HTTP 请求 ->FTP 请求 ->JDBC 请求

对于每个循环。

随机控制器

In 随机 顺序,请求发送为 随机地,

FTP 请求 ->HTTP 请求 ->JDBC 请求

Or

JDBC 请求 ->FTP 请求 ->HTTP 请求

对于每个循环。

模块控制器

模块控制器的目标是增加模块化 JMeter.

总体思路是,Web 应用程序由一系列小的功能单元组成(例如登录、创建账户、注销等)。这些功能可以作为“模块”存储在简单控制器中。模块控制器会选择需要运行哪个模块。

模块控制器

考虑以下场景:

您想要模拟:

  • 用户50 注销,
  • 用户100 在登录
  • 用户30 搜索、 www.google.com

您可以使用 JMeter 创建 3 个模块。每个模块模拟每个用户活动:登录、注销和搜索。

模块控制器

模块控制器选择需要运行哪个模块。

模块控制器

其他重要控制人

  • 交错 控制器:拿起并制作 一种 用户请求运行 每 线的循环。
  • 运行时 控制器:控制 多久 其子项被允许运行。

例如,如果您指定运行时控制器 10 秒, JMeter 将运行测试 10 秒。

其他重要控制人

  • 交易 控制器:测量 总时间 带到 完 测试执行
  • 包括 控制器:旨在使用外部测试计划。此控制器允许您在 JMeter. 详情请参阅 JMeter 性能测试.

循环控制器示例

本部分将逐步指导您添加 回路控制器 设置为您当前的性能测试计划。

循环控制器使采样器按一定次数运行,除了您为线程组指定的循环值之外。例如,如果您

  • 向循环计数为 50 的循环控制器添加一个 HTTP 请求
  • 将线程组循环数配置为 2
  • 然后, JMeter 将总共​​发送 50 * 2 = 100 个 HTTP 请求。

这是 路线图 本例中:

循环控制器示例

步骤1)配置线程组

We 再利用 教程中的第 1、2 步 JMeter 性能测试.

  1. 添加线程组

上点右键 测试计划 并添加一个新的线程组: 添加-> 主题(用户) ->线程组

但是在线程组控制面板中,输入线程属性如下:

添加线程组

它将使 一种 用户请求到网络服务器 google.com 并运行它 2 倍。

  1. 添加 JMeter 分子

将 HTTP 请求默认添加至 www.google.com。

  1. 添加循环控制器

右键单击线程组->逻辑控制器->循环控制器

添加循环控制器

步骤2)配置循环控制器

如下图所示,将值 50 添加到循环计数字段。这将使 一种 用户向 Web 服务器发出请求 google.com 运行 50 次,除了循环值 =2,你为上面的线程组指定。所以 JMeter 总共将发送 2 * 50 = 100 HTTP 请求。

配置循环控制器

右键单击循环控制器,添加->采样器->HTTP 请求

配置循环控制器

步骤 3)在表中添加查看结果

我们重复使用步骤 2 定时器 在表中添加查看结果

测试计划如下图所示

在表中添加查看结果

步骤 4)运行测试

现在返回表格中的查看结果,单击菜单栏上的开始按钮(Ctrl + R)运行测试

如下图所示, JMeter 可模拟 一个用户请求, 向 Web 服务器发送 100 次 http://www.google.com/. 用户请求发送100次后,测试停止。

运行测试

故障排除

  1. 如果您在运行上述场景时遇到问题……请执行以下操作
  2. 检查您是否通过代理连接到互联网。如果是,请删除代理。
  3. 打开Jmeter的一个新实例
  4. 打开 控制器测试计划.jmx 在Jmeter中
  5. 点击线程组->在表格中查看结果
  6. 运行测试

常见问题

采样器会向服务器发送实际请求,例如 HTTP 或 JDBC 请求。逻辑控制器本身并不发送请求;它控制其子采样器在线程中运行的顺序和条件。

事务控制器将完成一组采样器操作的总时间视为一个事务进行测量。它适用于测量多步骤业务流程(例如登录后搜索)的耗时,而不是单独测量每个请求的耗时。

它们会相乘。如果循环控制器设置为 50,线程组循环计数为 2,则控制器内的每个采样器每次迭代运行 50 次,总共运行 50 乘以 2,即 100 次请求。

是的。人工智能可以建议符合实际的工作负载模型,生成测试数据,并分析结果图表以标记瓶颈。机器学习可以检测性能异常并预测容量,从而帮助解决问题。ping 工程师设计并解释 JMeter 测试速度更快。

AI模型能够预测负载模式,自动调整测试参数,并分析指标以检测回归问题和根本原因。这些智能功能使性能测试更具预测性,将原始性能测试转化为更具实用性的测试。 JMeter 最终将结果转化为可执行的产能洞察。

总结一下这篇文章: