默认情况下,在每个采样器之前没有任何延时,这样不能很好的模拟现实生活中人们访问网页,因为现实生活中人们点击一个请求后,会有一定的时间,然后再点击下一个请求,JMeter提供了定时器来模拟这种行为。

定时器在采样器之前运行,并且在作用域内的每个采样器之前均运行一次,如果想要定时器只在某一个采样器之前运行,则把该定时器放在采样器的子节点即可。

1.Constant Timer(固定定时器)

如果想要采样器在运行之前都暂停相同的时间,则可以使用该定时器。

说明:Thread Delay:暂停时间,单位为毫秒。

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

如果每个采样器执行之前暂停的时间符合高斯分布,则可以使用高斯随机定时器模拟这种情况,总的暂停时间为高斯分布值(-1到1)乘以Deviation+Constant Delay Offset时间,所以最终的时间为Constant Delay Offset-Deviation至Constant Delay Offset+Deviation。

说明:在实际的测试过程中,可以根据需要选择该定时器进行操作。

3.Synchinzing Timer

该定时器可以实现当设置的用户数同时到达时,同时对服务器进行请求,实现了loadrunner中集合点。

说明:Number of Simulated Users to Group by:当设置的用户数到达时同时对服务器进行并发。Timeout in milliseconds:如果设置的时间内没有达到上一个设置的用户数,则无论如何都进行并发操作。

4.Uniform Random Timer(统一随机定时器)

该定时器在每个请求之前暂停随机的时间,每个时间间隔都有相同发生的概率,总的暂停时间为0至Random Delay设置的值中的随机数加上Constant Delay Offset的值。

5.Constant Throughtput Timer

该定时器可以让JMeter以设置的吞吐量(TPS,这里是每分钟的请求数)对服务器进行请求。

Target thoughtput:设置的吞吐量,每分钟请求数。Calculate Throughtput:计算的范围。

this thread only:每一个线程都按照设置的吞吐量进行发送请求,如下:线程组中设置循环次数为2,定时器中设置目标云吞吐量为30/分钟,即没两秒一次,可以看到,每个线程,都是按照没两秒一次进行请求。

all active threads:设置的目标吞吐量在所有线程组下的所有线程下划分,每个线程组根据他上次延迟时间计算本次延迟时间,在这种情况下,其他线程组需要有相同设置的定时器,如下,线程组循环次数为1,两个定时器,每个定时器的目标吞吐量为60,即每个线程按照每分钟30(60/2),每两秒一次进行请求:

all active threads(threads):和上一个类似,只是根据任意线程上次运行时间延迟当前线程,如下:线程组循环次数均为1,定时器的目标吞吐量为60,两个线程每个线程每分钟30次请求,没两秒一次,每一次请求根据任一线程上一次的延时时间延时当前线程。

all active threads in current thread group:每一个线程运行时间根据当前线程组下的线程数进行划分,每一次延迟时间根据这个线程上次延迟时间进行延迟,如下:线程组循环次数为2,定时器设置目标吞吐量为60,每个线程每分钟30次,每两秒1次。

all active threads in current thread group(shared):和上一个类似,只是每个线程的延迟时间是根据任意线程的上一次延迟时间计算延迟时间。

Timer(定时器)的更多相关文章

  1. C#中WebService 的 Timer定时器过段时间后自动停止运行

    我用.net做的一个Timer定时器,定时获取短信并给予回复,但大概过了十几个小时以后,Timer定时器会自动停止,再发送短信就不能收到回复,需要在服务器中重新运行定时器才可以,请教各位! 我是在.n ...

  2. asp.net中Timer定时器在web中无刷新的使用

    最近在做一个项目的时候,web端的数据需要与数据源进行实时同步,并保证数据的准确性,当时,考虑到使用ajax异步刷新技术.但后来在网上查找相关资料时,发现这样做,太浪费资源了,因为ajax的提交请求不 ...

  3. JAVA Timer定时器使用方法(二)

    JAVA  Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...

  4. C#中Timer定时器的使用示例

    关于C#中timer类 在C#里关于定时器类就有3个: 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Tim ...

  5. [Python 多线程] Timer定时器/延迟执行、Event事件 (七)

    Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征.这个类用来定义多久执行一个函数. 它的实例是能够延迟执行目标函数的线程,在真正执行目标函数之前,都可以cance ...

  6. 浅析linux内核中timer定时器的生成和sofirq软中断调用流程(转自http://blog.chinaunix.net/uid-20564848-id-73480.html)

    浅析linux内核中timer定时器的生成和sofirq软中断调用流程 mod_timer添加的定时器timer在内核的软中断中发生调用,__run_timers会spin_lock_irq(& ...

  7. 浅析linux内核中timer定时器的生成和sofirq软中断调用流程【转】

    转自:http://blog.chinaunix.net/uid-20564848-id-73480.html 浅析linux内核中timer定时器的生成和sofirq软中断调用流程 mod_time ...

  8. .net中 Timer定时器

    作者:feiying008 在开发一套视觉系统时,发现系统内存一直不断增加,直至系统内存爆满.一开始还以为是程序内存泄露,是图像操作算法写的有问题,但是,发现如果电机轴如果 不运行的状态下,每隔一秒进 ...

  9. 关于C#中Timer定时器的重入问题解决方法(也适用于多线程)

    项目中用到了定时器随着服务启动作定时任务,按指定的准点时间定时执行相关操作,但是在指定准点时间内我只想让它执行一次,要避免重入问题的发生. 首先简单介绍一下timer,这里所说的timer是指的Sys ...

  10. JAVA Timer定时器使用方法

    JAVA  Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...

随机推荐

  1. Java学习之SpringBoot整合SSM Demo

    背景:在Java Web中Spring家族有着很重要的地位,之前JAVA开发需要做很多的配置,一堆的配置文件和部署调试一直是JavaWeb开发中的一大诟病,但现在Spring推出了SpringBoot ...

  2. windows 10 服务组件安装出现0x80070422错误解决方法

    问题描述:   windows 10通过控制面板->程序->启用或关闭Windows 功能安装Windows服务或组件时,出现0x80070422错误,提示服务禁止或未启用 问题产生原因: ...

  3. ORACLE各版本下载地址

    ORACLE 10g下载|ORACLE 10g下载地址|ORACLE 10g官网下载地址 ORACLE 10g下载地址 oracle 下载还需要用户名我自己注册了个方便大家使用下载 user:1603 ...

  4. Android 4学习(8):用户界面 - Fragment

    参考<Professional Android 4 Development> Fragment简介 Fragment是我们可以将Activity分成不同的组成部分,这些组成部分拥有自己的生 ...

  5. leetcode868

    class Solution { public: int binaryGap(int N) { ; vector<int> V; while (N) { )//N&1==1,表示最 ...

  6. 「小程序JAVA实战」运行微信官方demo(四)

    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-04/ 微信官方小程序的demo 介绍 https://mp.weixin.qq.com/cgi-b ...

  7. linux之sort用法

    sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数 ...

  8. 12个有趣的c语言面试题&nbsp;

    1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets ...

  9. easylogging++学习记录(一):接入

    easylogging++是一个非常轻量级并且非常高效的一个日志库,支持文件配置,支持线程安全,并且其自定义格式非常的方便,最关键的是,其所有代码都集中在一个.h头文件之中,完全不需要引用第三方库,接 ...

  10. iOS静态库的制作与引用

    [iOS静态库的制作与引用] 1.Configuring Exported Headers To configure which headers are exported to clients, se ...