定时器

定时器一般被我们用来设置延迟与同步,定时器的执行优先级高于Sampler(取样器),在同一作用域(比如控制器下)下有多个定时器存在时,

每个定时器都会执行;如果想让某一定时器仅对某一Sampler(取样器)有效,则可以把定时器加在此取样器节点下。

一个简单的例子


定时器

如图,我们设置2个线程组,都运行2次,所有的固定定时3秒,高斯定时器2秒左右(偏差200毫秒)。

此时java请求1需要等待的时间是:高斯定时器1 时间+固定定时器1时间+高斯定时器2时间,=7秒左右。

而java请求2需要等待的时间是,固定定时器2的时间=3秒。

所有java请求2率先运行完成。

Gaussian Random Timer(高斯定时器)

功能说明:高斯定时器,生成一个呈高斯分布的时间间隔。

参数说明

名称:元件名称,可以随意设置,甚至可以为空。

注释:可以随意设置,可以为空。

偏差:设置的偏差值,是一个浮动范围,单位毫秒。

固定延迟偏移:固定延迟时间,我们可以用它来模拟思考时间,(用户提交表单前填写表单及思考的时间)。

如:固定延迟300ms,偏差100ms,意思是时间延迟300-400ms之间。


高斯定时器

Constant Timer(固定定时器)

功能说明:顾名思义就是一个固定值的定时器。


固定定时器

Synchronizing(同步定时器)

功能描述:在性能测试中需要模拟多用户并发的场景,Jmeter提供同步器来实现此需求。

参数说明

名称:元件名称,可以随意设置,甚至可以为空。

注释:可以随意设置,可以为空。

number of simulated users to group by(设置同步的线程数量):每集合够多少个模拟用户(线程)后发送一次测试请求,如果设置为0,等同于设置为线程组中的线程数;确保设置的值不大于它所在线程组的用户数(线程数)。

例子说明:“Number of Simulated Users to Group by: 5”表示并发量是5。也就是说,Jmeter会等到5个线程都运行到此处时,这五个线程才开始执行后面的操作,先到达的线程将会在此等候。

Timeout in milliseconds:

1.超时时间,即多少毫秒后同时释放已集结的的线程,发送测试请求;

2.如果设置为0,Timer将等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。

3.如果大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。

一个简单的例子


固定定时器
同步定时器
观察结果树

如图,我们设置了10个线程,固定定时器时间3秒。同步定时器设置10个并发用户,此时在观察结果树中可以看到,在延迟3秒后,10个线程同时运行了。

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

功能描述:Jmeter通过Constant Throughput Timer来控制吞吐量,如果吞吐量大过固定值,则增加迭代时间的间隔时间;反之减小。增大或者减小多少是由jmeter跟进吞吐量、并发线程数来计算的。

参数说明

名称:元件名称,可以随意设置,甚至可以为空。

注释:可以随意设置,可以为空。

Target throughput(in samples per minute):每分钟的吞吐量。

Calculate Throughput based on:有5个选项

        This thread only:仅针对当前线程,也就是每个线程相互是不干扰的,选择这种模式时,总的吞吐量为设置的target Throughput 乘以该线程的数量。

         All active threads:针对所有线程,把所有线程的吞吐量合在一起作为因子计算。

        All avtive threads(shared):线程延迟计算是基于任意一个线程上次运行的时间,也就是随便获取一个线程的运行时间来计算,既然是随机,结果就不一定准确,所以只能是努力控制吞吐量在某一个范围。

        All active threads in current thread group:针对当前线程组中的所有线程。

        All active threads in current thread group(shared):在当前线程组中任意取一个线程的上次运行时间来计算延时。


固定吞吐量定时器

Uniform Random Timer

功能说明:让线程暂停一个随机时间,只不过力求随机时间能够更均匀,都会出现。

参数说明

名称:元件名称,可以随意设置,甚至可以为空。

注释:可以随意设置,可以为空。

Random Delay Maximum:随机延迟时间。

Constant Delay Offset:固定延迟时间。如:随机延迟1000,固定延迟2000,最终延迟时间为2~3秒之间。


Uniform Random Timer

Poisson Random Timer

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

名称:元件名称,可以随意设置,甚至可以为空。

注释:可以随意设置,可以为空。

Lambda(in milliseconds):偏移时间。

Constant Delay Offset(in milliseconds):固定延迟时间。


Poisson Random Timer

BeanShell Timer

功能说明:Jmeter支持BeanShell脚本语言,BeanShel Timer就用BeanShell来设置线程延迟间隔。

参数说明

名称:元件名称,可以随意设置,甚至可以为空。

注释:可以随意设置,可以为空。

Reset Interpreter:是否每次迭代重置解析器,默认False。官方建议是在长时间允许的脚本中设置True。

Parameters:BeanShell的入参,入参可以是单个变量也可以是是数组。如${sleepTime}。

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

Script:可以在该区域之间写Beanshell脚本,在脚本中可以调用JMeter的运行属性。

BeanShell Timer

JSR223 Timer

JSR223作为一个标准,为脚本引擎提供了统一的结果、统一的访问模式。

参考官方网站:http://commons.apache.org/proper/commons-bsf/index.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,563评论 6 544
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,694评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,672评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,965评论 1 318
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,690评论 6 413
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,019评论 1 329
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,013评论 3 449
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,188评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,718评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,438评论 3 360
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,667评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,149评论 5 365
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,845评论 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,252评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,590评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,384评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,635评论 2 380

推荐阅读更多精彩内容

  • Timer 定时器相信都不会陌生,之所以拿它来做源码分析,是发现整个控制流程可以体现很多有意思的东西。 在业务开发...
    石先阅读 6,389评论 2 13
  • jmeter提供了很多元件,帮助我们更好的完成各种场景的性能测试,其中,定时器(timer)是很重要的一个元件,最...
    冲锋丘丘人阅读 739评论 0 0
  • 知识来源有点复杂,其他测试工作者的博客,百度百科,搜集的电子文档,个人理解等等,限于水平和理解能力,可能有些内容有...
    guiwuzhe阅读 670评论 0 3
  • 定时器的种类 定时器的作用域 1、定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在s...
    我为峰2014阅读 2,399评论 0 2
  • 昨天市二模考试结束,对二模试题也进行了研做和总结,总体感觉良好,难度不大。但是今天有对23题有了新的认识。 此题难...
    山中捡石阅读 651评论 0 1