定时器的作用范围:
在执行Sampler之前,优先处理Sampler子元素的定时器+Sampler同级和上级范围内的每个定时器。
假设一个脚本结构如下:
0--进入系统主页
1--------进入登录页面
1--------定时器20s
1--------登录
10--------------定时器60s
执行顺序为:
①直接进入系统主页(既没有子元素定时器,也没有同级或上级定时器)
②“进入登录页面”只有同级定时器,需要等待20s秒;
③进入登录页面
④“登录”有子元素定时器,还有同级和上级定时器,需要等待20s+60s=80秒。
④登录。
同步定时器
SyncTimer的目的是阻塞线程,直到X个线程被阻塞,然后它们全部被释放。因此,SyncTimer可以在测试计划的各个点上创建大量即时加载。
同时用户分组数量 | 超时(以毫秒为单位) |
---|---|
一次释放的线程数量。将其设置为0相当于将其设置为线程组中的线程数。 | 如果设置为0,则Timer将等待线程数达到 “同时并发用户数到组数 ” 中的值。如果大于0,那么计时器将等待最大 “超时以毫秒为单位” 的线程数;如果在超时间隔之后没有达到等待的用户数量,则定时器将停止等待。 |
建议设置超时时间,不然假设线程数为21,同步定时器的“同时用户分组数量”为5,那么在执行20个线程数后,剩下1个是怎么也达不到集合点5的,测试将无法停止或者继续后面的测试。
仅在一个JVM中同步定时器模块,因此如果使用分布式测试,则确保从未将“ 同时分组的用户数量 ”设置为高于其包含的线程组的用户数的值,只考虑1个注入器。
网友评论