JMeter分布式负载测试(吞吐量控制器)

本文概述

  • 创建JMeter测试计划
  • 添加采样器
  • 添加监听器
  • 保存并执行测试计划
  • 验证输出
  • 添加吞吐量控制器
  • 验证输出
在本节中, 我们将学习如何使用吞吐量控制器在JMeter中创建分布式负载测试计划。
出于测试目的, 我们将在网站www.srcmini.com的URL下的某些网页上创建分布式负载。这些网页包括:
主页:www.srcmini.com
网页1(Java):www.srcmini.com/java-tutorial
网页2(C_Programming):www.srcmini.com/c-programming-language-tutorial
网页3(Cpp):www.srcmini.com/cpp-tutorial
下图显示了我们网站的主页:
JMeter分布式负载测试(吞吐量控制器)

文章图片
注意:假设我们已经创建了10个虚拟用户(线程)以在我们的网站上执行分布式负载测试, 那么所有其他网页将由10个虚拟用户的恒定负载进行测试。但是, 这不是现实情况。在现实世界中, 同一URL下不同网页的负载可能会有所不同。 让我们首先创建一个不使用吞吐量控制器的分布式负载测试计划。对于此测试, 我们已将单个虚拟用户分配给每个线程组。
创建JMeter测试计划
  • 转到你的JMeterbin文件夹, 然后双击ApacheJMeter.jar文件以启动JMeter界面。
  • 单击“测试计划”节点。
  • 将该测试计划节点重命名为Distributed Test。
  • 选择“分布式测试”节点, 然后右键单击所选项目。
  • 将鼠标悬停在“添加”选项上, 然后将显示元素列表。
  • 选择线程(用户)> 线程组。
JMeter分布式负载测试(吞吐量控制器)

文章图片
添加采样器 我们必须在线程组中添加一个HTTP RequestSampler。
  • 选择线程组, 然后右键单击所选项目。
  • 将鼠标悬停在“添加”选项上, 然后将显示元素列表。
  • 选择采样器> HTTP请求选项。
  • 它将添加一个空的HTTP Request Sampler。
JMeter分布式负载测试(吞吐量控制器)

文章图片
将HTTP请求采样器的字段配置为:
  • 名称-主页。
  • 服务器名称或IP-在我们的情况下, Web服务器名称将为www.srcmini.com。
现在, 我们将复制线程组并将其粘贴到测试计划中三遍。根据被测网页重命名每个HTTP请求采样器。每个HTTP请求采样器的服务器名称将相同。
下图显示了分布式测试计划下的目录结构。
JMeter分布式负载测试(吞吐量控制器)

文章图片
分别为Java, C_Programming和Cpp采样器配置路径名。
下图显示了上述每个采样器的各自路径名。
JMeter分布式负载测试(吞吐量控制器)

文章图片
JMeter分布式负载测试(吞吐量控制器)

文章图片
JMeter分布式负载测试(吞吐量控制器)

文章图片
添加监听器
  • 选择“分布式测试计划”元素。
  • 将鼠标悬停在“添加”选项上, 然后将显示元素列表。
  • 选择“侦听器”> “汇总报告”。
JMeter分布式负载测试(吞吐量控制器)

文章图片
保存并执行测试计划
  • 单击文件> 将测试计划另存为。
  • 将整个测试计划另存为Distributed_test1.jmx。
JMeter分布式负载测试(吞吐量控制器)

文章图片
  • 单击运行> 开始以执行测试计划。
验证输出 【JMeter分布式负载测试(吞吐量控制器)】你可以在#Samples标签中查看每个网页的负载分布。
JMeter分布式负载测试(吞吐量控制器)

文章图片
现在, 我们已经成功执行了分布式负载测试计划, 而无需使用吞吐量控制器。但是, 我们无法确定在应用程序上进行实际负载测试期间的实际用户数。在这种情况下, 我们必须使用吞吐量控制器。
添加吞吐量控制器 首先, 我们必须为我们的测试计划创建一个主线程组。
  • 选择“分布式测试”节点, 然后右键单击所选项目。
  • 将鼠标悬停在“添加”选项上, 然后将显示元素列表。
  • 选择线程(用户)> 线程组。
  • 将该线程组重命名为主线程组。
  • 选择“主线程组”节点, 然后右键单击所选项目。
  • 将鼠标悬停在“添加”选项上, 然后将显示元素列表。
  • 选择逻辑控制器> 吞吐量控制器。
JMeter分布式负载测试(吞吐量控制器)

文章图片
下图显示了吞吐量控制器的默认控制面板。
JMeter分布式负载测试(吞吐量控制器)

文章图片
请按照以下步骤在“主线程组”节点下创建测试计划:
  • 复制“主页”采样器并将其粘贴到吞吐量控制器中。
  • 再创建三个吞吐量控制器, 然后复制粘贴其余的网页采样器。
  • 在“分布式测试计划”节点下禁用/删除所有线程组。
下图显示了“主线程组”节点下的目录结构。
JMeter分布式负载测试(吞吐量控制器)

文章图片
现在, 我们已将主线程组中的用户总数配置为“ 10”。因此, 将根据主线程组中的用户总数来分配每个吞吐量控制器的“%”执行量。
我们将每个吞吐量控制器的“%”执行分配为:
  1. 主页的10%
  2. Java的20%
  3. C_Programming的20%
  4. Cpp的50%
注意:主线程组中的线程(用户)数量可以根据实际应用程序预期负载而变化。 下图显示了主线程组的配置以及整个被测吞吐量控制器。
JMeter分布式负载测试(吞吐量控制器)

文章图片
JMeter分布式负载测试(吞吐量控制器)

文章图片
JMeter分布式负载测试(吞吐量控制器)

文章图片
JMeter分布式负载测试(吞吐量控制器)

文章图片
JMeter分布式负载测试(吞吐量控制器)

文章图片
  • 单击运行> 开始, 以执行测试计划。
验证输出
JMeter分布式负载测试(吞吐量控制器)

文章图片
你可以在#Samples标签中查看每个网页的负载分布。
JMeter分布式负载测试(吞吐量控制器)

文章图片

    推荐阅读