同步定时器(Synchronizing Timer)
同步定时器其作用是:阻塞线程,直到达到指定的线程数量后,才一起释放,可以瞬间产生很大的压力。
(1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量
(2)Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数
在压测过程中我们对添加同步定时器和不添加同步定时器的两个脚本进行测试,分别观察两脚本在相同环境和其余条件一样的情况下的一个运行情况,分析其同步定时器的运行原理和对测试结果的一个影响。
1.首先观察添加同步定时器和未添加同步定时器的结果树,线程数设置为20,启动时间为1秒,循环2次
2.执行未添加同步定时器的请求
通过第一个请求到最后一个请求我们可以看出,每个请求开始时间是连续的
3.执行添加同步定时器的请求
通过时间可以看出20个请求为一组,每一组开始时间相同
4.通过上面两次结果可以看出,添加了同步定时器的请求会按照组的形式进行请求,每一组的开始时间是一致的,所以,可以瞬间释放出很大的压力对服务器造成压力,同时也可以推测出,通过添加同步定时器的方式,对发压机的压力也是很大的。
通过对过程的分析发现两种请求方式的不同,那我们可以猜测两种请求对的结果会一样吗?带着疑问继续往下分析
1.首先观察添加同步定时器和未添加同步定时器的聚合报告,线程数设置为20,启动时间为1秒,循环次数勾选永远,持续时间设置为60秒
2.执行未添加同步定时器的请求
3.执行添加同步定时器的请求
4.通过上面两个结果可以看出相同并发下吞吐量差距有3倍
通过上面测试发现,添加同步定时器对吞吐量影响较大,我们需要根据压测场景来确定是否需要添加同步定时器,在没有并发要求的情况下,应不要添加同步定时器。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。