Jmeter多种定时器实现方法解析
1、固定定时器(Constant Timer)
用法(场景):更真实的模拟用户场景,需要设置等待时间,或是等待上一个请求的时间才执行,给 sampler 之间的思考时间
备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中。
(1)每个sampler均延迟启动,(包含第一个 sampler)示例如下
(2)只针对某一个 sampler 请求延迟启动,示例如下
2、高斯随机定时器(Gaussian Random Timer)
下图中固定延迟2000ms,偏差1000ms,意思是时间延迟2000-3000ms之间
备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中。
3、均匀随机定时器(Uniform Random Timer)
和高斯随机定时器的作用差异不大,区别在于延时时间在指定范围内且每个时间的取值概率相同,每个时间间隔都有相同的概率发生,总的延迟时间就是随机值和偏移值之和。
Random Delay Maximum(in milliseconds) 随机延迟时间的最大毫秒数
Constant Delay Offset(in milliseconds) 暂停的毫秒数减去随机延迟的毫秒数
4、同步定时器(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 将无限等待,除非手动终止
- Timeout in milliseconds 超时时间 > 线程组中(用户启动时间)
4、泊松随机定时器(Poisson Random Timer)
- 这个定时器在每个线程请求之前按随机的时间停顿,大部分的时间间隔出现在一个特定的值,总的延迟就是泊松分布值和偏移值之和。
- 下图表示暂停时间会分布在100到400毫秒之间:
- Lambda(in milliseconds) 兰布达值
- Constant Delay Offset(in milliseconds) 暂停的毫秒数减去随机延迟的毫秒数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Jmeter后置处理器实现过程及方法应用
1.JSON Extractor Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值.并保存成变量供后面的请求进行调用或断言等. Variable names:保存的变量名,后面使用 ${Variable names} 引用 JSON Path expressions:上一步中调试通过的 json path 表达式 Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有) Default Values
-
Mac系统搭建JDK及JMETER过程解析
前言 时代在进步,我们IT届的测试工程师大部分都用上了MAC电脑,在MAC上如何搭建JMETER呢 一.环境和所需软件概述 1.1 目前环境: MacOS(10.15.3) 1.2 所需软件: jdk-8u91-macosx-x64.dmg (jdk1.8及以上版本应该都可以) apache-jmeter-5.2.1.zip (官网下载最新版即可) 二.搭建过程详述2.1 JDK安装即配置 该步骤大家可以参考我之前的博文,地址如下: jdk搭建步骤 2.2 JMETER安装即配置2.2.1 下载
-
MAC配置java+jmeter环境变量过程解析
打开ITerm终端 进入命令输入,sudo su,输入密码 创建.bash_profile文件touch .bash_profile 打开.bash_profile文件open .bash_profile 弹出文本编辑 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HO
-
Jmeter参数化实现方法及应用实例
当使用JMeter进行测试时,测试数据的准备是一项重要的工作.若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据. 参数化:是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替,如登录时利用GET/POST请求方式传递参数的场景,在脚本运行时指定参数的取值范围和规则. 脚本在运行时,根据需要选取不同的参数值作为输入,该方式称为数据驱动测试(Data Driven Test),而参数的取值范围被称为数据池(Data Pool). 1.CVS参数化 应用:
-
Jmeter设置全局变量token过程图解
返回登录后的token使用json path Extractor插件,定位到获取后的token为变量 在登录下后置处理器下添加json path Extracto插件 根据上面获取到的token位置路径编写变量 头部添加全局token变量 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.
-
Jmeter对响应数据实现断言代码实例
单独校验某个接口中的某个字段时,断言就相当于检查点 添加http请求,输入路径url 增加断言是先执行下确定返回 200后增加断言 添加断言 断言--响应断言 添加需要校验的字段 添加后运行返回200即成功 apply to:是应用范围,设定匹配的范围 Main sample and sub-samples:匹配范围为当前父取样器,及子取样器 Main sample only :仅当前父取样器 Sub samples only:仅子取样器 JMeter Variable:变量值进行匹配 要测试的
-
Jmeter工作原理及常见错误解析
工作原理 错误解析汇总 JMeter结果树响应数据中文乱码解决办法 打开jmeter配置文件搜索encoding修改编码格式改为utf-8 Jmeter服务器反馈登陆不成功问题 导入到JMeter后,执行场景,发现登录校验成功,但后续的动作都未成功: 问题原因:在登录校验成功后,进行重定向时,Cookie被重置的: 解决办法:校验页面的HTTP请求中,有看到一个:自动重定向.跟随重定向的设置: 修改默认的"自动重定向"为"跟随重定向"重新执行场景.(改为追随重定向)
-
Jmeter分布式压力测试实现过程详解
一.分布式压测原理 如下图(这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果) 二.修改 Jmeter 配置文件 在主控机的jmeter的bin目录找到配置文件jmeter.properties.找到里面的remote_hosts 部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port.如果是多个压力机,之间使用[,]分隔 控制机端口修改,防止端口被占用(注意:控制机修改后,每台执行机的端口也要修改成一致) 电脑防火
-
Jmeter多种定时器实现方法解析
1.固定定时器(Constant Timer) 用法(场景):更真实的模拟用户场景,需要设置等待时间,或是等待上一个请求的时间才执行,给 sampler 之间的思考时间 备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中. (1)每个sampler均延迟启动,(包含第一个 sampler)示例如下 (2)只针对某一个 sampler 请求延迟启动,示例如下 2.高斯随机定时器(Gaussian Random Timer) 下图中固定延
-
python循环嵌套的多种使用方法解析
这篇文章主要介绍了python循环嵌套的多种使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用循环嵌套来获取100以内的质数 #!/usr/bin/python # -*- coding: UTF-8 -*- num=[]; i=2 for i in range(2,100): j=2 for j in range(2,i): if(i%j==0): break else: num.append(i) print(num) 使用嵌
-
Java内存分配多种情况的用法解析
这篇文章主要介绍了Java内存分配多种情况的用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java内存五大区 栈:用于保存函数内部的局部变量,函数形参,一旦超出作用域,就删除 堆:凡是new出来的东西都是存放在堆里,也可以说可变对象(非基本数据类型)都是保存在这里面. 堆里面的东西,都有一个内存(16进制),栈中存放的就是这个16进制的内存值. 堆里面存放的东西都用默认值: 整数:默认值0 浮点数:默认0.0 布尔:默认false 字
-
python读取xml文件方法解析
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <maxid
-
Go语言实现定时器的方法
本文实例讲述了Go语言实现定时器的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "time" ) func testTimer1() { go func() { fmt.Println("test timer1") }() } func testTimer2() { go func() { fmt.Println("test timer2&
-
详解js中class的多种函数封装方法
本文实例讲解了js中class的多种函数封装方法,分享给大家供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>关于class的多种函数封装</title> <style> body{ margin: 0; } li{ height: 20px; } </style
-
用Python编写简单的定时器的方法
下面介绍以threading模块来实现定时器的方法. 首先介绍一个最简单实现: import threading def say_sth(str): print str t = threading.Timer(2.0, say_sth,[str]) t.start() if __name__ == '__main__': timer = threading.Timer(2.0,say_sth,['i am here too.']) timer.start() 不清楚在某些特殊应用场景下有什么缺陷
-
Struts2修改上传文件大小限制方法解析
首先struts上传最大大小由两个地方决定. · struts.multipart.maxSize决定整个post的form最大是多大,所以这个限制是最初的.默认大小是接近2M,在struts的default.properties中定义. · fileuploadInterceptor中可以定义maximumSize最大文件大小. 最初定义在struts.xml中定义了没有生效,后来发现在工程中的struts.properties中已经设置过,所以后来被覆盖了,更改struts.proper
-
在 Node.js 中使用原生 ES 模块方法解析
从版本 8.5.0 开始,Node.js 开始支持原生 ES 模块,可以通过命令行选项打开该功能.新功能很大程度上得归功于 Bradley Farias. 1.演示 这个示例的代码目录结构如下: esm-demo/ lib.mjs main.mjs lib.mjs: export function add(x, y) { return x + y; } main.mjs: import {add} from './lib.mjs'; console.log('Result: '+add(2, 3
-
jQuery使用ajax方法解析返回的json数据功能示例
本文实例讲述了jQuery使用ajax方法解析返回的json数据功能.分享给大家供大家参考,具体如下: 最近在用jQuery的ajax方法传递接收json数据时发现一个问题,那就是返回的data数据,有时候可以直接作为json数据使用,可有时候又不行.查了些资料,解释如下: $.ajax({ url: ajaxurl, type: "POST", success: function(data){ //假设返回的json数据里有status及info2个属性 //有时候可以直接ajaxo
随机推荐
- 用python下载百度文库的代码
- 批处理按要求将字符串分段输出的实现代码
- Asp.Net二级域名共享Forms身份验证、下载站/图片站的授权访问控制
- 浅谈Java的两种多线程实现方式
- Python使用正则表达式过滤或替换HTML标签的方法详解
- 解析ABP框架中的事务处理和工作单元
- phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
- Shell中变量作用域的介绍与使用命令
- jsp计数器制作手册
- Android 出现的警告(Service Intent must be explicit)解决办法详解
- java编写ftp下载工具
- CSS hack浏览器兼容一览表
- jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
- Js注册协议倒计时的小例子
- js两行代码按指定格式输出日期时间
- Linux 管理员手册(4)
- Android ListView里控件添加监听方法的实例详解
- Android通过startService实现文件批量下载
- Java连接postgresql数据库的示例代码
- spring整合cxf框架实例