在实际测试过程中,需要对某些业务进行并发测试,模拟绝对并发时系统的处理是否有异常。比如支付场景,如果有一些秒杀或者其他优惠活动时,很可能有多用户并发的场景发生,下面就针对支付的并发场景,使用Jmeter进行测试。

1、需要用到的主要组件介绍:Synchronizing Timer 中文:同步定时器。

SyncTimer 的目的是阻塞线程,直到 X 个线程被阻塞,然后它们立即被释放。因此,SyncTimer 可以在测试计划的各个点创建大量即时负载。

Number of Simultaneous Users to Group by:一次释放的线程数。将其设置为0相当于将其设置为线程组中的线程数。

Timeout in milliseconds:以毫秒为单位的超时时间,如果设置为0,Timer 将等待线程数达到“同时分组的用户数”中的值。如果大于0,则计时器将在最大“超时(以毫秒为单位)”处等待线程数。如果在超时间隔后未达到等待的用户数,定时器将停止等待。默认为0
注意:如果超时(以毫秒为单位)设置为0并且线程数从未达到“同时分组的用户数”,则测试将无限暂停。只有强制停止才能阻止它。在这种情况下,可以考虑以毫秒为单位设置超时。意思就是如果线程组设置10,并发设置3,不整除最后一次只有一个并发,达不到3就一直卡着了,所以最好设置下超时时间。
2、设计脚本,就拿我实际的例子来说,完成的支付流程为购买一个商品先生成支付二维码、扫码后订单入库,成功支付后回调需要处理业务的服务(进行库存扣减等)。所以脚本就是先获取支付二维码、再模拟生成订单,再模拟支付回调。
3、设置并发数量:设置线程组跟并发数量都为10.
4、通过表格查看结果,查看设计的脚本是否达到想要的效果,从下图可看出,这三个接口,获取订单二维码和创建订单的接口先执行,时间并不是绝对的并发,是顺序执行的。支付回调接口则是绝对的并发。所以脚本的设计能达到我们的效果。
5、执行后,看看并发后,系统的处理是否正确,接口是否报错,具体要结合自己的业务。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/145923.html