bug

前言

jmeter并发测试每个请求之间是没有延时的,但实际工作有时候需要增加固定时间来测试,那么可以Jmeter定器组件,完成工作。其实这些知识百度一查就出来,为什么还要写,主要方便自己复习,要找的时候就从自己文章中找出,而且这些自己通过自己调试后,直接可以拿出来用。


jmeter定时器分类:

Constant Timer 固定定时器

Uniform Random Timer 均匀随机定时器

Constant Throughput Timer 固定吞吐量定时器

Gaussian Random Timer 高斯随机定时器

JSR223 Timer JSR223定时器

Poisson Random Timer 泊松随机定时器

Synchronizing Timer 同步定时器

BeanShell Timer BeanShell脚本编写定时器

Precise Throughput Timer 精准吞吐量定时器

定时器


1、Constant Timer 固定定时器(重要常用):

固定定时器

作用:通过ThreadDelay设定每个线程请求之前的等待时间(单位为毫秒)。注意:固定定时是有作用域的,放到线程组下其作用域是所有请求都会延迟固定器设置的时间,如果放到请求内,作用域是单个请求延迟时间(常用)。


2、Uniform Random Timer 均匀随机定时器

Uniform Random Time定时器

作用:它产生的延迟时间是个随机值,而各随机值出现的概率均等。总的延迟时间等于一个随机延迟时间加上一个固定延迟时间,用户可以设置随机延迟时间和固定延迟时间。

总延迟时间=指定范围内的随机时间+固定延迟时间。


3、Constant Throughput Timer 固定吞吐量定时器

作用: 按指定的吞吐量执行,以每分钟为单位。计算吞吐量依据是最后一次线程的执行时延。

Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,可以选择作用的线程:当前线程、当前线程组、所有线程组等,具体含义如下:

this thread only: 设置每个线程的吞吐量。总的吞吐量=线程数*该值。

all active threads in current thread group:吞吐量被分摊到当前线程组所有的活动线程上。每个线程将根据上次运行时间延迟。

all active threads:吞吐量被分配到所有线程组的所有活动线程的总吞吐量。每个线程将根据上次运行时间延迟。在这种情况下,每个线程组需要一个具有相同设置的固定吞吐量定时器。(不常用)

all active threads in current thread group (shared):同上,但是每个线程是根据组中的线程的上一次运行时间来延迟。相当于线程组组内排队。(不常用)

all active threads (shared):同上,但每个线程是根据线程的上次运行时间来延迟。相当于让所有线程组整体排队。(不常用)


4、Gaussian Random Timer 高斯随机定时器

Gaussian Random Timer 高斯随机定时器

作用:每个线程的延迟时间是符合标准正态分布的随机时间停顿,那么使用这个定时器,总延迟 = 高斯分布值(平均0.0和标准偏差1.0)* 指定的偏差值+固定延迟偏移(Math.abs((this.random.nextGaussian() * 偏差值) + 固定延迟偏移))


5、JSR223 Timer JSR223定时器

JSR223 Timer JSR223定时器


作用:JSR223计时器可以使用JSR223脚本语言生成延迟;

参考帮助文档:

https://jmeter.apache.org/usermanual/component_reference.html#JSR223_Timer


6、Poisson Random Timer 泊松随机定时器

Poisson Random Timer 泊松随机定时器

作用:这个定时器在每个线程请求之前按随机的时间停顿,总的延迟就是泊松分布值和偏移值之和。

上面表示暂停时间会分布在100到400毫秒之间:

(1)Lambda(in milliseconds):兰布达值

(2)Constant Delay Offset(in milliseconds):暂停的毫秒数减去随机延迟的毫秒数


7、Synchronizing Timer 同步定时器(重要-常用)

Synchronizing Timer 同步定时器

作用:用来设置集合点,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力

(1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量,若设置为0,等于设置为线程组中的线程数量;

(2)Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数;如果设置为0,该定时器将会等待线程数达到了设置的线程数才释放,若没有达到设置的线程数会一直死等。如果大于0,那么如果超过Timeout inmilliseconds中设置的最大等待时间后还没达到设置的线程数,Timer将不再等待,释放已到达的线程。默认为0

同步定时器(Synchronizing Timer)的超时时间设置要求:超时时间 > 请求集合数量 * 1000 / (线程数 / 线程加载时间)


8、BeanShell Timer BeanShell脚本编写定时器(重要-常用)

简单示例:

BeanShell Timer BeanShell

参数说明:

Reset Interpreter:每次迭代是否重置解析器,默认为false;在长时间运行的脚本中建议设置为true。

Parameters:BeanShell脚本的入参。入参可以是单个变量;也可以是数组,若是字符串数组,两个元素之间用空格隔开;也可以是常量。

File Name:BeanShell脚本可以从脚本文件中读取。

Script:在Script区直接写BeanShell脚本。

增加一个Java Request请求,并且增加时间验证是否按照自己设定的定时运行脚本:

Java Request ${__time(yyyy-MM-dd HH:mm:ss:SSS,)}

增加结果查看树:结果显示按之前设置的每个1秒钟运行


9、Precise Throughput Timer 精准吞吐量定时器

Precise Throughput Timer 精准吞吐量定时器

Target Throught:目标吞吐量

Throught Period:表示在多长时间内发送Target Throught指定的请求数(以秒为单位)

Test Druation:指定测试运行时间(以秒为单位)

Number of threads in the bath:用来设置集合点,等到指定个数的请求后并发执行其它参数默认即可。

jmeter吞吐量_深入理解Jmeter常用定时器相关推荐

  1. 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系

    概述 在jmeter中,只要提到并发,99%的同学立马想到线程组.需要多少并发就启动多少线程组,这已经成了大部分人的共识.这种理解方式很明显是把并发数和线程数的概念混淆了.线程组中不光有线程数,也有循 ...

  2. jmeter吞吐量_进阶Spring Boot---Tomcat与Undertow 吞吐量对比

    测试工具:Jmeter Apache JMeter是Apache开发的基于Java的压力测试工具.对于压力测试软件,它最初是为Web应用程序测试而设计的,但后来扩展到其他测试领域.它可以用来测试静态和 ...

  3. jmeter中没有sampler_jmeter(七)-BeanShell常用内置变量和场景

    Bean Shell常用内置变量 JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下: log:写入信息到jmeber.log ...

  4. jmeter 核心_初识性能测试工具JMeter

    JMeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具. JMeter可以用于对服务器.网络或对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性能 ...

  5. jmeter压力测试_如何使用Jmeter进行压力测试?这篇入门讲解拿去不谢!

    一.下载安装jmeter 这里不多说了,大家可以自行下载. 二.运行jmeter.bat 在bin目录下,使用管理员方式运行jmeter.bat 随之会打开jmeter的GUI界面,注意不要关闭运行的 ...

  6. jmeter吞吐量图形显示_JMeter吞吐量误差分析

    JMeter吞吐量可能是个假数据,包含了本机处理时间. 首先我本身并不用JMeter进行压测,故事的缘起是因为看到了同事适用JMeter进行测试的测试报告,偶然间发现一个问题,JMeter报告中的吞吐 ...

  7. jmeter负载测试测试_使用Apache JMeter负载测试Web应用程序

    jmeter负载测试测试 Apache JMeter是用于模拟Web应用程序上的用户负载以测试性能的出色工具. 您可以通过指定用户数量和请求间隔来轻松地构建测试计划,然后JMeter将为每个用户生成一 ...

  8. jmeter安装包_分布式执行jmeter脚本步骤(非GUI)

    备注:[Linux查看服务器是32位还是64位命令] uname -m getconf LONG_BIT 1.Linux环境安装jmeter 可参考https://www.cnblogs.com/su ...

  9. jQuery 一次定时器_Jmeter常用定时器的使用 - 小孙同学

    一.定时器的作用域 1.定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面). 2.当执行一个sampler之前时,所有当前作用域内的定时器都会被 ...

最新文章

  1. 一文讲清楚什么是迁移学习?以及它都用在哪些深度学习场景?
  2. 谁再说不熟悉Linux命令,就把这个给他扔过去!
  3. PHP语法(3.)环境变量
  4. 河南理工大学新生挑战赛【部分题题解】
  5. 【人工智能作业及答案】什么叫智能?什么叫人工智能?人工智能科学体系大致分哪几个层次?
  6. Delphi之virtual,dynamic,abstract
  7. 鼠标 ArcBall 局部坐标系 旋转模型
  8. Linux上的Shell之FAQ
  9. plsql查询中补入空行--做报表分页挺有用
  10. 1.5编程基础之循环控制 23 药房管理
  11. C#:适配器设计模式如何让您的生活更轻松
  12. 2021陆川高考成绩查询,陆川中考成绩查询2021
  13. android.content.res.Resources$NotFoundException: String resource ID #0x0
  14. java/php/net/python教务排课系统设计
  15. WIN8转WIN7的两三事
  16. Android智能聊天机器人
  17. IOS界面push跳转后navigationController不显示
  18. 释放英特尔锐炫™显卡潜能:性能升级、定价更新
  19. 朱老师ARM裸机学习笔记(四):S5PV210启动过程详解
  20. php中的 notice,PHP中出现Notice: Undefined index的三种解决办法

热门文章

  1. 为什么Spartacus单元测试里对http返回的Observable对象调用subscribe时,会触发依赖注入的框架代码
  2. SAP Spartacus的b2cLayoutConfig
  3. SAP cross distribution chain status在Fiori应用中的draft handling
  4. Spring 基于注解(annotation)的配置之@Autowired注解
  5. 脑部手术成功,只是万里长征走完了第一步
  6. 本人使用abapgit遇到的一些错误
  7. 阮一峰react demo代码研究的学习笔记 - how to debug converted source code
  8. Cloud for Customer切换到调试模式的前台实现
  9. Service Broker in SAP Gateway and Kubernetes
  10. ABAP variable value in ST22 dump