Jmeter中的线程数和并发数不是一回事,这是很容易混淆的两个概念。线程数可以理解为连接服务器的请求管道,但是连接管道的数量并不一定等于并发数,这些管道向服务器发送的请求不是并行的。在性能测试的过程中经常会用到模拟大量并发请求来测试系统的性能,这需要用到Jmeter的定时器功能。本文举例讲解两种最常用的两种定时器Synchronizing Timer和固定定时器,分别实现大量并发和请求等待时间的功能。
1.Synchronizing Timer设置
200为等待集合的线程,到达200个线程后一起向服务器发送请求(并发)
超时时间为等待线程集合的时间,设置为0的意思是一直等待(注:如果最后一次请求线程数不够会卡在这里)
2.并发测试效果
通过聚合报告可以看出只设置集合点为200,不设置等待时间,tps上升的速度仍然是非常快的,并不利于我们观察并发的效果,这种情况下可以设置等待时间,也就是两次并发之间的间隔时间来观察系统对高并发数据的处理情况。
3.固定定时器设置
将请求的间隔时间设置为2s
4.观察并发测试效果
设置了等待时间后,可以通过聚合报告清楚的看到每间隔2秒,同时发出200个请求。
如果不添加定时器,Jmeter每个连接线程向服务器发送的请求是不规律的,如果要最大程度的模拟请求压力,就需要用到Jmeter中定时器的功能,设置并发(Synchronizing Timer)、设置等待时间(固定定时器)是最常用的定时器。除了这两个定时器外,Jmeter还提供了其他几个定时器,本质上的目的都是控制请求频次来模拟真实的用户场景。