浅谈定时器之常数吞吐量定时器

浅谈定时器之常数吞吐量定时器

常数吞吐量定时器的主要目的是在JMeter测试中维持一个恒定的吞吐量(通常是每分钟的请求数或事务数),从而确保测试能够以预期的负载水平运行。这对于模拟特定的用户访问模式、进行稳定性测试、负载测试以及压力测试尤为重要。本文档将详细介绍常数吞吐量定时器的用途、配置方法及应用场景,帮助测试工程师有效地控制测试脚本的执行速率。

使用场景

● 负载测试:需要模拟特定数量的用户在同一时间段内访问系统,保持稳定的请求速率。
● 稳定性测试:长时间运行测试,验证系统在持续负载下的表现。
● 压力测试:逐步增加吞吐量至系统极限,评估系统的最大处理能力。

配置步骤

  1. 添加定时器:
    ○ 在JMeter测试计划中,选择你想要控制吞吐量的线程组。
    ○ 右键点击线程组 > 添加 > 定时器 > 常数吞吐量定时器。
  2. 设置吞吐量:
    ○ 目标吞吐量(Target Throughput):输入你希望达到的吞吐量值,单位为请求/分钟。例如,输入60表示希望每分钟发送60个请求。
    ○ 基于计算吞吐量(Calculate Throughput Based On):选择吞吐量计算的基准,通常选择“所有活跃线程”来基于所有活动线程计算吞吐量。

实例说明:

我们编写如下脚本
在这里插入图片描述
BeanShell 取样器:编写如下脚本

log.info("test");

情况1:基于计算吞吐量:只有次线程

线程组:线程数设置为10,循环次数设置为永远,勾选调度器,持续时间设置为30,启动延迟设置为0。
常数吞吐量定时器:目标吞吐量(Target Throughput)(每分钟的样本量)设置为600,基于计算吞吐量设置为只有次线程。
运行脚本,查看聚合报告:
在这里插入图片描述
可以看到选择这种模式时,总的吞吐量(TPS)=目标吞吐量 * 线程的数量

情况2:基于计算吞吐量:当前线程组中的所有活动线程

线程组:线程数设置为10,循环次数设置为永远,勾选调度器,持续时间设置为30,启动延迟设置为0。
常数吞吐量定时器:目标吞吐量(Target Throughput)(每分钟的样本量)设置为600,基于计算吞吐量设置为当前线程组中的所有活动线程。
运行脚本,查看聚合报告:
在这里插入图片描述
可以看到选择这种模式时,设置的目标吞吐量将分配在当前线程组的每一个活跃线程上,总的吞吐量(TPS)=目标吞吐量 / 1分钟,例如样例中设置的是600,则换算成TPS/秒=600/1分钟=600/60秒=10/秒,其中当前线程组中的所有活动线程(共享)(all active threads in current thread group (shared)):与当前线程组中的所有活动线程基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行

情况3:基于计算吞吐量:所有活动线程

首先那边写脚本如下
在这里插入图片描述
线程组1:线程数设置为10,循环次数设置为永远,勾选调度器,持续时间设置为30,启动延迟设置为0。
线程组2:线程数设置为10,循环次数设置为永远,勾选调度器,持续时间设置为30,启动延迟设置为0。
BeanShell 取样器1:编写如下代码

log.info("test1");

BeanShell 取样器2:编写如下代码

log.info("test1");

常数吞吐量定时器:目标吞吐量(Target Throughput)(每分钟的样本量)设置为600,基于计算吞吐量设置为所有活动线程。
运行脚本,查看聚合报告:
在这里插入图片描述
可以看到选择这种模式时,设置的目标吞吐量将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。所有活动线程(共享)(all avtive threads (shared)):与所有活动线程的选项基本相同。唯一区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行

注意事项

● 常数吞吐量定时器不能保证绝对精确的吞吐量,尤其是当并发用户数较少或者测试计划中包含其他定时器和逻辑控制器时。
● 使用此定时器可能会影响测试结果的重复性和可预测性,因为它是基于时间间隔调整请求发送速率的。
● 在高并发测试中,建议结合监听器(如“聚合报告”)监控实际吞吐量,以验证是否达到预期的测试目标。

总结

常数吞吐量定时器是JMeter中一个非常实用的组件,它使得测试工程师能够在性能测试中更好地控制和模拟用户流量,确保测试结果更加贴近实际情况。通过合理配置,可以有效地对系统进行负载和压力测试,为系统的优化和扩容提供数据支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/38560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

量化交易 - 策略回测

策略回测 1、什么是策略回测?2、策略回测的作用3、策略回测系统概述3.1策略回测中相关的指标介绍3.2量化交易策略的资金容量3.3 完整的策略回测系统包含哪些内容 1、什么是策略回测? 策略回测,也称之为策略回溯测试,是指利用交易…

北京酒店订房小程序开发的优势与主要功能

随着我国经济与交通的飞速发展,人们出行的次数越来越多,频率也越来越快。无论是出差还是出游,人家对外出酒店的舒适度与便捷度的要求也越来越高。为了满足人们对于酒店的新需求,北京酒店订房小程序与互联网技术相结合,…

pbootcms后台获取前端表单留言页面url

pbootcms在线留言表单,用户在网页前端提交表单成功后,在网站后台如何获取表单留言页面的url这个参数呢?下面举例说明:首先,我们在PBootcms后台对应的表单,添加需要记录的表单字段,例如 添加liuy…

免费开源AI生产力工具:内置专属ChatGPT、一键智能处理图片和视频(擦除水印、卡通漫画、无损放大、插值补帧、智能修复、3D转制、上色修复、合成整理)

AI 生产力工具 免费开源,提升用户生产力,保障隐私和数据安全。提供高效便捷的AI解决方案,包括但不限于:内置专属ChatGPT、一键批量智能处理图片和视频等。 主要特点 免费开源:免费使用,源代码开放&#…

性价比高真无线蓝牙耳机有哪些?性价比真无线蓝牙耳机推荐

目前真无线蓝牙耳机的音质和性能已经越来越接近甚至超越传统有线耳机。然而,市面上的TWS耳机品牌和型号繁多,价格也从几十元到几千元不等,性价比自然成了消费者选择时的重要考量因素,究竟哪些真无线蓝牙耳机既能够提供满意的音质和…

前沿重器[52] | 聊聊搜索系统5:召回:检索、粗排、多路召回

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…

Windows定时任务执行脚本

场景:由于网络波动原因导致云数据库没连接上,从而导致某个流程引擎链接不上数据库从而导致该流程引擎服务挂了,网络恢复后 数据库链接正常,但是该引擎服务还是中止状态。 解决方案:在Windows中新建一个定时任务&#…

为用户转出并处理MODIS NDVI数据案例过程记述,希望对大家有用!

最近为用户转出和处理了一次MODIS NDVI数据,我将过程做了个总结供大家参考!希望能帮助到一些下载和处理数据的朋友! 使用工具为三个:地图资源工具 和 GIS数据转换器-栅格,qgis。 1.选择【数据下载功能】,然后选择MO…

复制 pdf 的表格到 markdown 版本的Typora 或者 word 中

在 pdf 中选中复制表格内容,直接粘贴到 typora 中失败,可以使用 txt文件和 excel 做过渡。 准备一个空的 txt 文件,将 pdf 中表格的数据复制粘贴到txt文件中,文本内容会以空格分开,如下图的形式: 打开 exc…

firewalld防火墙转发流量到其他端口forward port rules

假设云主机eth0: 47.93.27.106 tun0: inet 10.8.0.1 netmask 255.255.255.0 Show rules for a specific zone (public) sudo firewall-cmd --zonepublic --list-all Add the tun0 interface to the public zone: sudo firewall-cmd --zonepublic --add-interfacetun0 --…

手把手教你考下39张免费亚马逊AWS证书和学习徽章

小李哥目前共考了39项亚马逊云(AWS)徽章,这也是普通用户可考的全部徽章。这篇文章会介绍如何报名、复习、通过这39张徽章提升云计算基本技能,了解全球第一大云厂亚马逊云科技前沿技术。这篇文章在领英爆🔥,有将近100k浏览量和11k的…

MeterSphere v3.0全新启航,让软件测试工作更简单、更高效

2024年7月1日,MeterSphere v3.0版本正式发布。MeterSphere v3.0是新一代的测试管理和接口测试工具,致力于让软件测试工作更简单、更高效,不再成为持续交付的瓶颈。 在团队协作方面,针对目前企业软件测试团队所面临的测试工具不统…

深度学习项目GPU开发环境安装

注安装环境:ubuntu22.04, cuda 11.7, cudnn8.9 1.安装nvidia驱动 看可安装的Nvidia驱动版本:执行 ubuntu-drivers devices 安装合适版本的Nvidia驱动: sudo apt-get install nvidia-driver-515 注意:合适的版本需要尝试&#x…

从0开始建SMARTFORMS表格

一、简介步骤 1、设置纸张的大小(页格式) 2、设置字体大小(样式) 3、设置表格模板 二、详细操作步骤 1、设置页格式 事务码:SPAD 参考操作:SAP Smartforms页格式创建与使用_sap 页格式-CSDN博客 SA…

【网络安全】修改Host文件实现域名解析

场景 开发一个网站或者服务,需要在本地测试时,可以将线上的域名指向本地开发环境的IP地址。从而模拟真实环境中的域名访问,方便调试和开发。 步骤 1、以管理员身份打开命令提示符 2、编辑hosts文件: 输入以下命令打开hosts文…

【第六节】C/C++静态查找算法

目录 前言 一、搜索查找 二、查找算法 1. 线性查找(Linear Search) 2. 二分查找(Binary Search) 3. 插值查找(Interpolation Search) 4. 哈希查找(Hash Search) 5. Fibonacc…

C++感受12-Hello Object 派生版

不变的功能,希望直接复用原有代码;变化的功能,希望在分开的代码里实现。 派生的基本概念和目的如何定义派生类以及创建派生对象派生对象的生死过程 0. 课堂视频 ff14-HelloObject-派生版 1. 派生的基本概念与目的 编程,或者说软…

vue中的坑·

常规 1.使用watch时,immediate true会在dom挂载前执行 2.使用this.$attrs和props 可以获取上层非原生属性(class/id) 多层次嵌套引用 设置的时候直接赋值,修改的时候即使用的双向绑定加上$set / nextick / fouceUpdate都不会同步…

HiBit Uninstaller:软件批量卸载,一触即得

名人说:莫道谗言如浪深,莫言迁客似沙沉。 ——刘禹锡《浪淘沙》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、软件介绍1、HiBit Uninstaller2、核心功能 二、下载安装1、下载2、安装 …

山东省安管人员考核报名流程及免冠证件照处理方法

随着《交通运输工程施工单位主要负责人、项目负责人和专职安全生产管理人员安全生产考核管理办法》(以下简称《办法》)的发布,山东省的安管人员迎来了新的考核要求。本文将为您详细解读山东省安管人员考核的报名流程,并提供免冠证…