专栏首页自学测试之道性能测试-Jmeter定时器(Timer)

性能测试-Jmeter定时器(Timer)

Jmeter常用的定时器有以下几项,我们一一介绍

1、固定定时器(Constant Timer)

用法(场景):更真实的模拟用户场景,需要设置等待时间,或是等待上一个请求的时间,才执行,给sampler之间的思考时间;

备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中。

(1)每个步骤均延迟示例:

(2)只针对一个请求延迟示例:

2、高斯随机定时器(Gaussian Random Timer)

下图中固定延迟300ms,偏差100ms,意思是时间延迟300-400ms之间;

备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中。

3、均匀随机定时器(Uniform Random Timer)

和高斯随机定时器的作用差异不大,区别在于延时时间在指定范围内且每个时间的取值概率相同,每个时间间隔都有相同的概率发生,总的延迟时间就是随机值和偏移值之和。

下面表示的是随机延迟时间的最大值是100毫秒:

(1)Random Delay Maximum(in milliseconds):随机延迟时间的最大毫秒数

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

4、固定吞吐量定时器(Constant Throughput Timer)

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) ——同上,但每个线程是根据线程的上次运行时间来延迟。相当于让所有线程组整体排队。

5、同步定时器(Synchronizing Timer)

这个定时器和loadrunner当中的集合点(rendezvous point)作用相似,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力。

Number of Simulated Users to Group by:集合多少人后再执行请求(也就是执行的线程数)

注意:等同于设置为线程组中的线程数,一定要确保设置的值不大于它所在线程组包含的用户数。

Timeout in milliseconds:指定人数多少秒没集合到算超时(设置延迟时间以毫秒为单位)

注意:如果设置Timeout in milliseconds为0,表示无超时时间,会一直等下去。

线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将 无限等待,除非手动终止。

6、BeanShell定时器(BeanShell Timer)

这个定时器,一般情况下用不到,但它可以说是最强大的,因为可以自己变成实现想要做的任何事情,例如:

希望在每个线程执行完等待一下,或者希望在某个变量达到指定值的时候等待一下。

7、泊松随机定时器(Poisson Random Timer)

这个定时器在每个线程请求之前按随机的时间停顿,大部分的时间间隔出现在一个特定的值,总的延迟就是泊松分布值和偏移值之和。

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

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

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

定时器,在jmeter中的作用不可忽视,是一个重要的元件,能够帮助我们更好的完成各种各样的性能场景测试。

本文分享自微信公众号 - 自学测试之道(zxceshi),作者:keitwo

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DevOps-自动化测试阶段详细解读和技术脚本预言

    测试环境布署 1.appium功能自动化框架环境搭建 2.python脚本运行环境配置 3.Jenkins本地安装配置和Zenportal的安装部署 4.JDK...

    用户6367961
  • 性能测试-Jmeter FTP服务器连接

    d、Local File Contents:选择get(RETR) 为下载方式。

    用户6367961
  • 记录一次使用tcpdump+wireshark抓白分析的过程

    最近公司有个项目需要验证APP应用在一段时间内消耗的流量统计,与后台数据平台以及APP自身打印的log日志进行核对对比分析。具体分以下几步执行:

    用户6367961
  • Jmeter(八)-发送JDBC请求

    下午花了两个小时研究了一下Jmeter发送JDBC请求,现在把基本操作流程分享一下。

    飞天小子
  • PowerBI 7月更新 全面支持图标 酷炫来袭

    本月发布了峰会上的第一个功能,Icon集,它也解决了我们目前在ideas.powerbi.com上排名第一的想法。除了这一重大更新之外,我们还对许多现有功能进行...

    BI佐罗
  • MySQL(九)DQL之子查询

    leeqico
  • Git和GitHub相关

      Git是一个版本控制工具   GitHub是一个用git做版本控制的项目托管平台。

    新人小试
  • Solr搜索问题笔记(一)

    我是攻城师
  • V8是如何执行JavaScript代码的?

    众所周知,我们通过编程语言完成的程序是通过处理器运行的。但是处理器不能直接理解我们通过高级语言(如C++、Go、JavaScript等)编写的代码,只能理解机器...

    腾讯IVWEB团队
  • python多版本的pip共存问题解决办法

    title: python多版本的pip共存问题解决办法 tags: python,pip,多版本, grammar_cjkRuby: true --- ...

    marsggbo

扫码关注云+社区

领取腾讯云代金券