java线程集合点_Jmeter集合点(线程组和同步定时器)
性能测试最常见的场景就是,在同一时间N个用户同时操作。之前简单的认为线程组数在0s内同时启动,不就实现了并发么。线程组中并发数、启动时间、循环次数、持续时间和定时器又有什么关联呢?
同步定时器Synchronizing Timer配置如图,主要有2个参数:
第一个参数,我自己翻译为每次集合的用户数,当线程组数达到这个数量时,触发一次并发。
第二个参数,超时时间,当数量没有达到集合用户数时,若超过了这个时间,也会触发并发。
下面通过具体的例子来讲解:
配置一:线程组数10,启动时间为0秒,无同步定时器
效果:按下start按钮后,所有线程组的HTTP请求几乎同时启动运行
配置二:线程组数10,启动时间为10秒,无同步定时器
效果:按下start按钮后,每1秒启动一个线程组,10秒完成所有10个线程组启动
配置三:线程组数10,启动时间为10秒,同步定时器中每次集合用户数10
效果:按下start按钮后,仍然是按照配置10秒内启动所有线程组,即每1秒启动一个线程组,但是HTTP请求并没有在线程组启动后立即发送,那是因为有同步定时器设置了10个为一个集合,所以会等待10秒钟,线程组个数凑够了10个之后,所有线程组的HTTP请求再同时发送
配置四:线程组数10,启动时间为10秒,同步定时器中每次集合用户数5
效果:按下start按钮后,每1秒钟启动一个线程组,但HTTP请求并没有立即发送,而是5秒钟后,当集合到了5个线程组后,5个HTTP请求一起发送,再过5秒钟后,剩余5个线程组的HTTP请求一起发送
其他配置
配置五:线程组数10,启动时间为10秒,同步定时器中每次集合用户数3,超时时间为0
这种配置…运行起来的效果…:按下start按钮,3秒后有3个线程组HTTP请求发送,6秒后有另3个线程组HTTP请求发送,9秒后又有3个线程组HTTP请求发送,然后就没有然后了,最后一个线程组的HTTP请求不会发送了,因为永远达不到集合数3。
配置六:线程组数10,启动时间为10秒,同步定时器中每次集合用户数3,超时时间为5000ms
开始时候的效果与上面配置类似,按下start按钮,3秒后有3个线程组HTTP请求发送,6秒后有另3个线程组HTTP请求发送,9秒后又有3个线程组HTTP请求发送。此时由于只剩一个线程,所以定然不会达到集合数量,但是设置了5秒超时,所以5秒钟后,最后一个线程组启动运行
思考
最后的疑问是,使用
配置1(线程组数10,启动时间为0秒,无同步定时器)
配置3(线程组数10,启动时间为10秒,同步定时器中每次集合用户数10)
都能实现同一时间多用户并发。区别在哪儿呢?
1、配置3中这些线程是慢慢启动的,然后同一个时间并发访问。而配置1中的所有线程同时启动且并发访问。当并发用户数很大很大时,配置1会使得压力服务器瞬间压力太大,可能会影响并发效果。
2、loadrunner中管这种并发叫集合点。所谓集合,感觉更像是军训时候,教官突然吹了一个哨子,说5分钟后在楼下紧急集合。此时大家会各自开始准备,有的人很快就跑到楼下了,有的人穿衣服比较慢,或者跑的太慢,最后一秒钟才到楼下,总而言之,5分钟后大家集合完毕,准备统一行动。说着说着,是不是感觉同步计时器Synchronizing Timer才像是真正的集合呢?嘿嘿,大概是吧
java线程集合点_Jmeter集合点(线程组和同步定时器)相关推荐
- Java哪些是线程安全的_Java集合中那些类是线程安全的
线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多 ...
- Java中,通过synchronizedXxx()将线程不安全的集合转换成线程安全的集合
保证线程安全的方法 synchronizedXxx():该方法可以使指定的集合包装成线程安全的集合,并返回 例如: Collections.synchronizedList(List) 将线程不安全的 ...
- 验证ArrayList是线程不安全的集合
package collectionSafe; import java.util.ArrayList;import java.util.Collections;import java.util.Lis ...
- arraylist线程安全吗_java集合----超详细图解(ArrayList线程安全解决三种解决方法!)...
(注意:多线程情况下的判断,如果你能确定就两个线程(不包括main主线程或者是说GC),判断可以用if,但如果是多个线程则用while,否则会出现错误)ArrayList线程安全的几个问题解决(Has ...
- 【JUC】第二章 线程间通信、集合的线程安全
第二章 线程间通信.集合的线程安全 文章目录 第二章 线程间通信.集合的线程安全 一.线程间通信 1.介绍 2.synchronized 方案 3.Lock 方案 4.定制化线程通信 二.集合的线程安 ...
- 考虑线程安全的List集合选择
考虑线程安全的List集合选择 Vector 线程安全的List 总结 Vector Vector集合 底层是一种可增长对象数组,查询快,增删慢 线程安全,同步,但是因为所有方法都加了synchron ...
- 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称
文章目录 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称 ...
- 线程安全的CopyOnWriteArrayList集合
CopyOnWriteArrayList 读取和写入源码简单分析(java.util.concurrent包下) 1. CopyOnWriteArrayList 读取操作的实现 读取操作没有任何同步控 ...
- (大集合)Linux进程和线程的基本编程、通讯和例程【杂记】
Linux 进程 和 线程 的基本 编程.通讯 和 例程 注:[杂记]系列为日常网搜资料的堆砌而积累成之.如有错误恭谢指出.标识为"原创"其实不完全是,只是多引用再整理和加上自己的 ...
最新文章
- linux kill杀死进程
- Dbgrid 中表字段所在的列序号
- All Things OpenTSDB
- 快速入门MyBatis-Plus,看这一篇就够了。
- 文件管理搜不到Android 里的文件,Android:在原始文件夹中添加文件后窗口找不到内容容器视图...
- CentOS 挂载数据盘
- 编译原理第三章课后题
- win10如何调整计算机时间同步,Win10系统时间不准如何解决 win10系统设置时间同步的方法...
- 前端导出excel,单独设置表头
- RTCP丢包重传策略之NACK
- java毕业设计_基于MVC的公司报账系统
- 自动化测试策略?如何开展自动化测试?
- 2207.16吃货联盟设计大纲和全部代码
- leet343整数拆分
- RTP打包G711音频数据发送
- TSP问题—Hopfield神经网络算法实现
- Camera 冷启动阶段分解
- 如何在微信小程序里实现聊天室功能?
- html提取excel指定单元格数据,如何利用Excel函数公式快速提取出单元格中指定的数据...
- 连引用都答不上,凭什么说你是Java服务端开发
热门文章
- centos7配置IP地址CentOS7 修改hostname,ip地址以及hosts(永久生效)
- 敏捷开发系列学习总结(13)——Spotify敏捷模式详解三部曲第一篇:研发团队
- Java基础学习总结(137)——Java ClassLoader再总结
- Tomcat学习总结(10)——Tomcat多实例冗余部署
- Mysql学习总结(22)——Mysql数据库中制作千万级测试表
- 在linux下编译android下的opencv,使用cmake的方法
- Java web Tomcat Server总结
- Java -- JDBC 学习--调用函数存储过程
- Node.js:清理项目中的依赖
- 如何让div在整个页面中居中?