相对并发和绝对并发
- 相对并发:指在一个时间段内发生的事情
- 绝对并发:指在同一时刻发生的事情
一:相对并发
在jmeter的测试计划中添加线程组,设置线程属性,2秒之内启动2000个线程,其对应的相对并发为1000(线程数/启动时间)
二:绝对并发
一般使用同步定时器实现绝对并发,即当所有请求集合完毕之后一块出发
1、jmeter线程组里面可以简单设置多线程,但是当你设置1秒钟50个线程时去看结果其实50个请求跑完并不是在1秒钟之内
2、由于测试的机器本身性能的影响或者是路由宽带等等,2000个请求跑完需要8秒,这时请求里面可以添加个同步定时器(相当于排队集合点),就是在这里等2000个人齐了再一起出发
3、在运行的时候可以看到2000个请求集齐了才会发送请求,查看结果树里面在请求没有集齐时是不会有数据的。
(1)模拟用户组的数量:为到集合点释放的线程数
(2)超时时间
- 超时时间如果设置为0,线程将会等待线程数达到了设置的值才释放。如果线程数不足集合点中设置的数,就会一直处于等待当中。
- 如果设置时间大于0,那么如果超过设置的最大等待时间后还没达到模拟用户组中设置的值,线程组将不再等待,释放已到达的线程。
4、注意:
- 如果超时时间设置为0的话,「模拟用户组的数量」一定要确保设置的值不大于它所在线程组包含的用户数,或者最好是集合数与线程数为整数倍的关系 。
否则会线程数量无法达到模拟用户组的数量,Test将无限等待,除非手动终止。
比如:总线程数2000,模拟用户组的数量1200,在执行完成第一个1200之后,剩余800线程永远集不齐1200,需要手动终止,已经集齐的800也不会完全被执行。
- 使用同步定时器做性能测试时,聚合报告中的响应时间一般会大于接口真实的响应时间,可以通过其他的监控工具查看接口真实的响应时间