目录
集合点:集合点用以同步虚拟用户,以便恰好在同一时刻执行任务。
Jmeter 内置组件之一,可以启动多个用户,让多个用户在同一刻去访问服务器。
可以模拟高并发实现,测试服务器性能。
位置:测试计划--线程组
http请求--定时器--Synchronizing Timer (集合点 设置)
1、线程组设置
2、集合点设置
创建10个线程,归到同一组里,让其统一行动。(所有线程启动完毕,再统一执行)
创建线程是需要时间的,用超时时间来控制效率问题。(班级集合发车一样的道理)
1. Number of Simulated Users to Group
by:集合多少用户后再执行请求(也就是执行的线程数)扩展选项:
2. Timeout in milliseconds:超时时间(毫秒) (启动线程是占用时间的)
1) 设置为0,无限等待,直到达到集合点设置的线程数。
2) 设置指定时长,如果到达指定时长,集合点数量未到达,集合多少用户释放多少用户数量统一去访问服务器,其他的没集合的就不访问服务器了。
运行测试计划后,在jmeter右上角处可看到启动的线程数的变化。到了设置线程数之后,结果树才会列出运行的请求。
高并发测试用结果树查看结果不是很理想,推荐使用聚合报告组件查看更直观。(监听器--聚合报告)
时间单位为毫秒。
50%:意味着一半的请求的响应时间小于763毫秒;一半大于该时间。
error:线程数越多,错误率可能会越高。高并发是很有可能出问题的,受程序性能限制(对内存、CPU、网络存储、磁盘读写等在某一个时间点上要求比较高,达不到则很可能会出现故障。) 与超时时间无关。
throughout:每秒的请求数。
received KB/sec:服务器每秒钟接收的请求的字节数。
3、线程数和分组数关系
1)线程数小于分组数
线程组共200个用户,定时器设置201个分组(车容纳量),超时时间为20秒(实际200个用户启动完不用这么久),车大人少,就等,等到超时时间就统一发送请求。
运行测试计划,则会看到右上角很快就启动完200个用户了,但是还会等至20秒时才统一去访问服务器,用户数才递减。
2)线程数大于分组数
线程数(22)大于分组数(20)
第一车可以发车了,但是多出两个2人,第二车没装满,故一直等待,即挂起。
3)超时时间为0
超时时间为0:无限等待
超时时间为0的条件,线程数必须是分组数的倍数,否则挂起。
4、集合点作用域
1. 集合点只对一个请求起作用,如果针对指定请求起作用,放到该请求内;
2. 集合点对多个个请求起作用,放到与请求平级同一层次;