实现多用户多请求的同步并发
业务需求
现有2个scan SQL和2个join SQL,根据不同的负载情况,分别模拟20、40、80个用户并发发送请求
场景设计
80%的用户在发送Scan SQL
20%的用户在发送Join SQL
所需配置
监听器:用于查看请求发出的详细时间
同步定时器:达到指定线程数后再发送请求
Number of Simulated Users to Group by:等待x个用户(线程)集合后开始释放(发起请求)。
默认为0,等同于设置为线程组中的线程数量。
Timeout in milliseconds:等待时长,如果等待这么长时间,还没有达到上个选项设置的数量,那么不再等待,立即释放已到达的线程。
默认为0,等待线程数达到上个选项设置的数量才释放
![](https://img-blog.csdnimg.cn/img_convert/290ba0a4dd560f12e295b84855ff1709.png)
Example:20个用户并发
测试步骤:
Step1:添加两个线程组,一个放ScanSQL,一个放JoinSQL
按测试场景的4:1比例划分,20个用户并发的时候,Scan:16,join:4
![](https://img-blog.csdnimg.cn/img_convert/0042f645eb9a92aa78e3fe053b52b08e.png)
![](https://img-blog.csdnimg.cn/img_convert/5ed83e92dfcecbd55c6ea3096daf54e0.png)
step2:添加同步定时器,混合场景下将同步定时器放于测试计划下,即与线程组同级
![](https://img-blog.csdnimg.cn/img_convert/90d8289f7592da1ab7b4dbb27d785964.png)
step3:设置模拟用户组数量
![](https://img-blog.csdnimg.cn/img_convert/bd2754be2acff83aa87efde69ac1c1da.png)
step4:保存测试计划并执行
![](https://img-blog.csdnimg.cn/img_convert/837f38a99b9eae6c08d9e71d06d34f41.png)
从测试结果可以看到,测试中每组每秒发送了20个请求,其中16个scanSQL,4个joinSQL,满足测试场景所设计的比例,也达到了同时并发的效果。