性能测试学习之路(九)—Jmeter之定时器详解

JMeter中的定时器一般被我们用来设置延迟与同步。定时器的执行优先级高于Sampler(取样器),在同一作用域(比如控制器下)下有多个定时器存在时,每一个定时器都会执行:如果想让某一定时器仅对某一Sampler有效,则可以把定时器加在此Sampler 节点下。

我们一般常用的定时器也就是固定定时器和同步定时器。这期我们主要将这两个,其余定时器不常用大家想要理解的可以百度一下。

固定定时器

顾名思义就是固定延迟时间,如图设置每个线程延迟为1000毫秒也就是1s,这样我们运行时,每个线程之间时间都是差1s。我们可以用监听器中的以表格查看结果来看时间。如下图所示:

可以看到基本每个线程间几乎都是间隔1000ms(1s)左右。

同步定时器

用来模拟多用户并发,或者说更严格的并发场景。同步定时器讲究的是"同步"也就是同一时刻。它是用来设置集合点,阻塞线程,同步虚拟用户,直到指定的线程数量到达后,恰好在同一时刻执行任务,再一起释放,可以瞬间对服务器产生很大的压力。

注意:一般情况,并发用户数多少,同步定时器就写多少。(多少并发就要等多少个人到齐一起释放)

模拟用户组数量 :集合点个数 (执行的线程数),如果设置为0,等于设置为线程租中的线程数量。
超时时间 :指定线程数多少秒没集合到算超时(以毫秒为单位),默认为0。

如果设置为0,该定时器将会等待线程数达到了 "模拟用户组数量" 中设置的值才释放,不够的话就死等。

如果大于0,那么如果超过 "超时时间" 中设置的最大等待时间后还没达到 "模拟用户组数量" 中设置的值,Timer 将不再等待,释放已到达的线程。

如上图同步定时器设置的为当模拟用户数到达10再执行请求,当时间超过了3000ms,到达几个模拟用户就释放几个。可以用表格查看结果来发现这10个请求的Start time是一样的(可能会差个几毫秒)。

相关推荐
laplace012317 分钟前
Claude Code 逆向工程报告 笔记(学习记录)
数据库·人工智能·笔记·学习·agent·rag
lingggggaaaa21 分钟前
安全工具篇&Go魔改二开&Fscan扫描&FRP代理&特征消除&新增扩展&打乱HASH
学习·安全·web安全·网络安全·golang·哈希算法
Daydream.V1 小时前
网页学习——HTML
学习
卖个几把萌1 小时前
【11】JMeter在GUI页面修改语言后右上角不显示线程数和持续时间问题解决
测试工具·jmeter
张永清-老清1 小时前
每周读书与学习->JMeter性能测试脚本编写实战(四)-利用JMeter对MySQL数据库查询进行性能测试
学习·jmeter·性能调优·jmeter性能测试·性能分析·每周读书与学习
玉梅小洋1 小时前
iperf 网络性能测试完整指南(含多服务端测试)
网络·测试工具·性能测试·iperf
InterestOriented2 小时前
中老年线上学习发展:兴趣岛“内容+服务+空间”融合赋能下的体验升级
人工智能·学习
宇钶宇夕2 小时前
CoDeSys入门实战一起学习(二十八):(ST)三台电机顺起逆停程序详解
运维·学习·自动化·软件工程
£漫步 云端彡2 小时前
Golang学习历程【第十篇 方法(method)与接收者】
开发语言·学习·golang
im_AMBER2 小时前
Leetcode 111 两数相加
javascript·笔记·学习·算法·leetcode