博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMeter分布式负载测试(吞吐量控制器)
阅读量:5136 次
发布时间:2019-06-13

本文共 2060 字,大约阅读时间需要 6 分钟。

在本节中,我们将学习如何使用吞吐量控制器在JMeter中创建分布式负载测试计划。

出于测试目的,我们将在我们网站 www.yiibai.com 的URL下的某些网页上创建分布式负载。这些网页包括:

  • 主页: www.yiibai.com
  • 第1页(Java): www.yiibai.com/cplusplus/
  • 第2页(C语言): www.yiibai.com/cprogramming
  • 第3页(Python): www.yiibai.com/python

注意: 假设创建了10个虚拟用户(线程)来在网站上执行分布式负载测试,然后所有其他网页将由10个虚拟用户的持续负载进行测试。 但是,这不是一个现实世界的场景。 在现实世界中,同一URL下不同网页的负载可能存在差异。

让我们首先创建一个分布式负载测试计划,而不使用吞吐量控制器。 对于此测试,我们已将单个虚拟用户分发到每个线程组。

创建JMeter测试计划

  • 进入到JMeter/bin文件夹并双击jmeter.bat文件以启动JMeter界面。
  • 单击“测试计划”节点。
  • 将此测试计划节点重命名为Distributed Test
  • 选择Distributed Test节点,然后右键单击所选项目。
  • 鼠标悬停在“Add”选项上,然后将显示元素列表。
  • 选择Threads (Users) > Thread Group

添加采样器

接下来在Thread Group中添加一个HTTP RequestSampler。

  • 选择“Thread Group”,然后右键单击所选项。
  • 鼠标悬停在“Add”选项上,然后将显示元素列表。
  • 选择Sampler > HTTP request选项。
  • 它将添加一个空的HTTP请求采样器。

将HTTP Request Sampler的字段配置为:

  • Name - Home Page 。
  • 服务器名称或IP - 在这个示例中,Web服务器名称是 www.yiibai.com 。

现在,将复制线程组并将其粘贴到测试计划中三次。 根据测试的网页重命名每个HTTP请求采样器。每个HTTP请求采样器的服务器名称都相同。

下图显示了“分布式测试计划”下的目录结构。

分别配置Java,C_Programming和Cpp采样器的路径名。

以下图像显示了上述每个采样器的相应路径名。

主页

Java

C_Programming

CPP

添加监听器

  • 选择“Distributed Test Plan”元素。
  • 鼠标悬停在“Add”选项上,然后将显示元素列表。
  • 选择Listener -> Aggregate Report

保存并执行测试计划

  • 单击File -> Save Test Plan as
  • 将整个测试计划保存为Distributed_test1.jmx

  • 单击Run -> Start以执行测试计划。

验证输出

可以在#Samples标签中查看每个网页的加载分布。

现在,我们已经成功执行了分布式负载测试计划,但是不使用吞吐量控制器。 但是,在应用程序的实际负载测试期间,我们无法确定实际用户的数量。 在这种情况下,需要使用吞吐量控制器。

添加吞吐量控制器

首先,我们需要为测试计划创建一个主线程组(“Distributed Test”)。

  • 选择“Distributed Test”节点,然后右键单击所选项目。
  • 鼠标悬停在“Add”选项上,然后将显示元素列表。
  • 选择“Threads (Users)” -> “Thread Group”
  • 将此线程组重命名为Master Thread Group
  • 选择“Master Thread Group”节点,然后右键单击所选项。
  • 鼠标悬停在“添加”选项上,然后将显示元素列表。
  • 选择Logic Controller -> Throughput Controller

下图显示了吞吐量控制器的默认控制面板。

按照以下步骤在“Master Thread Group”节点下创建测试计划:

  • 复制“主页”采样器并将其粘贴到吞吐量控制器中。
  • 再创建三个吞吐量控制器并复制粘贴其余的网页采样器。
  • 禁用/删除分布式测试计划节点下的线程组。

下图显示了“Master Thread Group”节点下的目录结构。

现在,已将主线程组中的用户总数配置为“10”。 作为其结果,每个吞吐量控制器的“%”执行将根据主线程组中的用户总数进行分配。

我们为每个吞吐量控制器分配了“%”执行:

  • 10%为主页
  • 20%为Java
  • C_Programming为20%
  • Cpp为50%

注意:主线程组中的线程数(用户)可以根据应用程序的实际预期负载而变化。

下图显示了Master Thread Group和整个吞吐量控制器的配置。

单击Run -> Start,执行测试计划。

验证输出

可以在#Samples标签中查看每个网页的加载分布。

转载于:https://www.cnblogs.com/pingxin/p/p00070.html

你可能感兴趣的文章
C#多线程那点事——信号量(Semaphore) Semaphore 信号量
查看>>
浏览器的线程有哪些
查看>>
PyTorch 实现kmax-pooling
查看>>
数据库点滴积累——查询
查看>>
将 Excel 导入到 SharePoint 列表
查看>>
C#中的yield关键字
查看>>
PHP获取中英文混合字符串长度及截取
查看>>
uva 11584 Partitioning by Palindromes(dp)
查看>>
面试题学习总结--三
查看>>
leetcode简单题目两道(5)
查看>>
(1)数据结构——线性表(数组)实现
查看>>
Content Providers的步骤,来自官网文档
查看>>
sql语句中的 inner join 、 left join 、 right join、 full join 的区别
查看>>
手动实现枚举器、泛型集合、单链表
查看>>
java反序列化漏洞原理研习
查看>>
LeetCode Algorithm 07_Reverse Integer
查看>>
PrintWriter、PrintStream的苦头 ------缓冲区问题
查看>>
第二张 例2.4
查看>>
LeetCode Valid Parenthesis String
查看>>
文件操作
查看>>