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

在本节中,我们将学习如何使用吞吐量控制器在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

时间: 2024-10-08 18:34:29

JMeter分布式负载测试(吞吐量控制器)的相关文章

性能测试工具 jmeter 分布式压力测试实操

性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布式测试. slave-1/slave-2/master配置好jmeter环境(以下操作在jdk版本1.8环境下进行的) 1.下载jmeter3.2 wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz 2

Jmeter之负载测试--在固定吞吐量下测试系统的性能表现

根据之前写的"性能测试之负载测试(生活比喻)",可知性能测试结果都是有前提的: 本篇主要是说明如何在固定吞吐量下测试系统的性能表现: 还是老套路: 场景 测试百度主页在20 QPS的情况下,响应时间.流量等性能数据: 分析 1.这里的20 QPS应该是指Jmeter发送请求的QPS,而不是服务器处理的QPS:--因为假如我们以20 QPS的速度向服务器发送请求,但是服务器每秒最多只能处理8个请求,那么我们无论如何都无法测得服务器在20 QPS的情况下的性能数据: 2.难点在于让Jmet

Jmeter 分布式压力测试

JMeter中进行分布式测试 作为一个纯 JAVA 的GUI应用,JMeter对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.不过,JMeter也可以像 LoadRunner 一样通过使用多台机器运行所谓的代理来分担负载产生器自身的压力,并借此来获取更大的并发用户数,我们只需手动配置一下即可. 1.在所有期望运行JMeter作为 负载产生器的机器上安装JMeter,并确定其中一台机器作为 控

使用JMeter进行负载测试——终极指南

这篇教程讨论的是JMeter,它是一款基于Java的.集合了几个应用程序.具有特定用途的负载和性能测试工具. 本篇主要涉及的内容: 解释一下JMeter的用途 JMeter的实现方式以及采用的技术 安装与配置 介绍用户界面的基本特征 详细介绍不同的测试计划的配置方法 如何分析结果数据 涉及几个重要的最佳实践 所有的例子都是基于Java 8 update 0.20,Eclipse Luna 4.4, JMeter 2.11, MySQL Community Server 5.6.21的开发环境.那

JMeter之Throughput Controller吞吐量控制器

吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关.(注:用Constant Throughput Timer可以控制吞吐量tps) 作用:控制其子节点的执行次数与负载比例分配 吞吐量控制器有两种模式:Total Executions 和Percent Executions. 参数说明如下: Total Executions:整个测试计划中的总执行次数,按吞吐量值来指定执行次数. Percent Executions:按比例(1%-100%),整个测试计划中执行百分比.

jmeter分布式压力测试

有时候需要的虚拟用户数比较大,一个负载机的资源不足以支持,就需要多台机器共同生成负载.就是分布式压力测试. 分布式压测怎么做呢?有几点要求:一是有几台电脑与控制机在同一局域网内.也就是可以互相访问.二是压力机也要安装jmeter. 在主控机的jmeter的bin目录找到配置文件jmeter.properties.找到里面的remote_hosts部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip.如果是多个压力机,之间使用英文逗号分隔分隔. 一.修改apache-jmet

jmeter 之负载测试

jmeter负载测试,会讨论到持续稳定地增加系统的负载. 负载测试模型有两种:一种是用户并发模式的负载[a.阶梯加压线程组 bzm - Concurrency Thread Group],一种是吞吐量模式的负载[a.持续的增加RPS,[email protected] - Throughput Shaping Timer,即每秒请求数:b.持续的增加TPS,bzm - Free-Form Arrivals Thread Group,即每秒事务数 / 每秒处理完成的业务 ] jmeter中,线程数

【转】Jmeter分布式压力测试

安装 下载地址:http://jmeter.apache.org/download_jmeter.cgi 安装前提(因为jmeter依赖于Java所以必须先配置好java) 下载后解压: tar -xvzf apache-jmeter-3.1.tgz Jmeter参数 [html] view plain copy -h, --help print usage information and exit #打印帮助信息 -v, --version print the version informat

Jmeter分布式压力测试环境配置

在一般情况下一台服务器如果要做大量用户并发的压力测试是扛不住的,基本上jmeter都崩溃.现在我们借助Jmeter提供的Controller+Agent模式搭建一套分布式压力测试环境 角色 IP 操作系统 版本 Controller 192.168.10.103 Windows 10 5.1.1 Agent 192.168.10.210 CentOS 7 5.2.1 Agent 192.168.10.211 CentOS 7 5.2.1 注意:正常情况下,我们建议所有的jmeter的版本要一致,