当前位置: 首页 > article >正文

jmeter常用配置元件介绍总结之定时器

系列文章目录
安装jmeter

jmeter常用配置元件介绍总结之定时器

  • 5.定时器
    • 5.1.固定定时器
    • 5.2.统一随机定时器
    • 5.3.Precise Throughput Timer
    • 5.4.Constant Throughput Timer
    • 5.5.Synchronizing Timer
    • 5.6.泊松随机定时器
    • 5.7.高斯随机定时器

5.定时器

5.1.固定定时器

固定定时器Constant Timer
功能:设置固定时长,用来模拟用户的思考时间,设置后发出的请求会有间隔,即:间隔时间 = 取样器请求发送时间 + 定时器思考时间。
如图演示:我这里设置了延迟10s,通过表格查看结果,在第一个请求发出后,第二个带延迟10s的请求并没有发出,而是等待到设置的延迟时间10s后才进行了请求。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.统一随机定时器

功能:取样器请求前做随机时间的延迟
参数说明
Random Delay Maximum:随机延迟的最大,会从0–设置的值这个范围来随机,随机出来的值不会大于设置的值,单位ms
Constant Delay Offset:设置固定的延迟偏移值,单位ms
请求的总延迟时间是 = 随机延迟时间(Random Delay) + 固定偏移值(Constant Delay)

如图演示:我这里设置了一个线程数循环3次,再第一个无定时器的请求发出后,有定时器的请求分别延迟了2s、9s、3s

在这里插入图片描述
在这里插入图片描述

5.3.Precise Throughput Timer

准确的吞吐量定时器Precise Throughput Timer
功能:精准的控制取样器请求的TPS
参数说明
目标吞吐量:设置期望需要达到的TPS
吞吐量周期(秒):在多长时间内达到这个TPS,一般设置为1
测试持续时间(秒):持续测试的时长,需要与线程组–调度器–持续时间一致
批处理中的线程数(线程):设置集合点,准备好多少个线程后一起发出请求
批处理中的线程之间的延迟(ms):设置每一批之间的延迟时间,如:批处理中的线程数设置为20,在第一批20个请求处理后,第二批延迟多久继续请求。默认0

如图:基本能稳定控制取样器的请求tps流量
在这里插入图片描述
在这里插入图片描述

5.4.Constant Throughput Timer

常数吞吐量定时器:Constant throughput Timer
功能:控制每分钟的样本量,让线程以指定的吞量进行执行
设置好期望需要达到的TPS,和选择好计算吞吐量的方式即可

注意:经过测试,选择”所有活动线程(共享)“方式,得出来的结果最为精确

在这里插入图片描述
在这里插入图片描述

5.5.Synchronizing Timer

同步定时器Synchronizing Timer
功能:设置集合点,在性能测试中可以用来模拟多用户并发的场景,通过阻塞线程等待线程数量达到要求后,同时释放,模拟所有的操作都在同一时间运行
参数说明
模拟用户组的数量:设置要模拟的并发数,线程数量达到多少后才释放。一般与线程组设置的线程数保持一致
超时时间:单位ms,设置一个超时时间,如果超过这个设置的时间线程数还没达到设置的数量,自动释放线程。如:模拟用户数设置为30,超时设置为300ms,则表示,如果300ms内,模拟用户数量没有达到30,就不继续阻塞,会释放掉已有的请求

注意:
1.超时时间不易设太长,也不能设太短,设置的时间应尽可能短且又能让模拟用户数能在时间内达到设置的值
2.当超时时间设置为0时,则表示等待达到设置的模拟用户数才释放,如果一直不能达到就一直不释放

在这里插入图片描述

5.6.泊松随机定时器

功能:在每个线程请求之前按随机的时间进行停顿,这个停顿时间会符合泊松分布
总的延迟=泊松分布值+偏移值
参数说明
Lambda:设置随机的最大值
Constant Delay Offset:设置的固定偏移值

如下图停顿时间会分布在100到400ms之间:

在这里插入图片描述

5.7.高斯随机定时器

功能:在请求时会延迟一个随机值时间,该随机值会符合正态分布的规律随机
总延迟 = 高斯分布值* 设置的偏差值+固定延迟偏移
参数说明
偏差:设置随机的最大值
固定延迟偏移:设置的固定的延迟偏移值
在这里插入图片描述


http://www.kler.cn/a/394895.html

相关文章:

  • 基于 Python Django 的二手房间可视化系统分析
  • Oracle ADB 导入 BANK_GRAPH 的学习数据
  • Centos安装Elasticsearch教程
  • #include<string>和#include<string.h>有什么区别
  • C语言入门到精通(第六版)——第十六章
  • QQ 小程序已发布,但无法被搜索的解决方案
  • 基于微信小程序的养老院管理系统的设计与实现,LW+源码+讲解
  • Ubuntu 24.04 安装 JDK 21
  • 【NLP】使用 PyTorch 从头构建自己的大型语言模型 (LLM)
  • 【ChatGPT】 让ChatGPT模拟客户服务对话与应答策略
  • 使用docker-compose单点搭建社区版seafile+onlyoffice在线word编辑平台
  • 【FreeRL】MAPPO的简单复现
  • 《基于Oracle的SQL优化》读书笔记
  • Scrapy并发请求深度解析:如何高效控制爬虫速度
  • spring boot 集成 redis 实现缓存的完整的例子
  • D68【python 接口自动化学习】- python基础之数据库
  • Java 实现鼠标单击右键弹出菜单项
  • 【vue3中el-table表格高度自适应】
  • 探索 HTML 和 CSS 实现的 3D旋转相册
  • SQL面试题——蚂蚁SQL面试题 连续3天减少碳排放量不低于100的用户
  • c++写一个死锁并且自己解锁
  • 前端搭建低代码平台,微前端如何选型?
  • Android开发|关于LiveData、ViewModel、DataBinding理解和使用
  • UI架构解说
  • 智能量化交易的多样化策略与风险控制:中阳模型的应用与发展
  • 项目中用户数据获取遇到bug