当前位置:网站首页>下单延迟10s撤单性能测试#yyds干货盘点#
下单延迟10s撤单性能测试#yyds干货盘点#
2021-11-25 16:32:35 【FunTester】
我曾经天真以为,性能测试场景我已经无敌了,可现实又轻轻拍了我一下。
研发提出了一个下单之后延迟10s撤单的压测需求,着实让我迷糊了一会儿,最后参考了Java的延迟队列java.util.concurrent.DelayQueue
实现了这个需求。
需求
在某个场景中,我之前的设计是下单,成功的话撤单,原因是为了避免测试用户资产被耗尽。
最近研发对服务功能逻辑进行了优化,在回归测试中,发现这个用例测试结果与之前差异较大。研发判断可能是下单、撤单间隔时间较短导致问题。所以需要进行延迟撤单的压测。
思路
这里使用了java.util.concurrent.DelayQueue
这个线程安全队列类,看名字其实也能明白用途。还有一个方案java.util.Timer
,但是会创建额外的线程,而且难以控制撤单的速率,所以这次就放弃了。
首先每次下单时候,如果成功会把订单号通过一个java.util.concurrent.Delayed
实现类记录到java.util.concurrent.DelayQueue
队列中,然后在com.oktest.okex.algo.trade.OrderAndCancelGrid3.FunTester#doing
方法中从延迟队列中获取到期的订单号,然后进行撤单操作。
实现
订单ID是java.lang.String
类型,java.util.concurrent.Delayed
实现类如下:
测试用例
大部分内容复用了之前的设计,重写了after
方法,处理用户结束测试之后,延迟队列中尚未处理的订单ID。
执行
执行方法依旧复用之前的内容,添加第4个参数,来参数化延迟的时间。
测试结果
我使用了默认延迟3s的参数。下面是执行过程中的日志截图:
图中可以看到,17s开始下单,20s开始撤单。需求完美实现!
欢迎关注FunTester,Have Fun ~ Tester !
版权声明
本文为[FunTester]所创,转载请带上原文链接,感谢
https://blog.51cto.com/FunTester/4685957
边栏推荐
猜你喜欢
随机推荐
- 【CS224n】(lecture2)Word Vectors, Word Senses, and Neural Classifiers(更新中)
- TiDB Cloud 通过 GDPR 认证丨成为全球可信赖的数据库云服务供应商
- 因当地货币贬值,苹果暂停在土耳其销售产品
- Idea - techniques avancées de débogage
- Application of Probability Statistics in Machine Learning MK
- Pikachu-php反序列化
- 极光笔记丨搭建UMS私有云文件服务器
- 同源策略形象解读
- 冒泡排序中时间与空间的复杂度
- 各行业工资单出炉,IT 类最赚钱?
- 深入理解高并发服务器性能优化
- Alibaba devops Practice Guide (Ⅱ) | quels sont les objectifs fondamentaux des devops dans le cadre de la transformation numérique?
- 详解阿里开源分布式事务框架Seata
- Helm.ai获得2600万美元B轮融资
- Cerebras完成2.5亿美元融资,估值已超40亿美元
- 残障人士福音,全球首款有触摸反馈能力的仿生手来了!
- 全球超算TOP 500最新榜单公布:日本富岳继续蝉联,中国上榜数量依旧第一
- Look at those amazing PCB design art
- 干货分享:数据分析的6大基本步骤
- 云原生应用之旅——Kubernetes成长记 | 第七站:探索旅行中的挑战 2
- R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
- 极光笔记丨搭建UMS私有云文件服务器
- 暴力creak及端口扫描详解
- Pr 入门教程,如何调整剪辑大小?
- 什么是融资租赁?
- Camtasia录屏软件分享
- 拓端tecdat|R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
- 元宇宙最缺的是内容,而云计算能帮上忙
- 殘障人士福音,全球首款有觸摸反饋能力的仿生手來了!
- L'Évangile du handicap, la première main bionique au monde avec rétroaction tactile, arrive!
- Cerebras a réalisé un financement de 250 millions de dollars, évalué à plus de 4 milliards de dollars
- Helm.ai reçoit 26 millions de dollars de financement de la série B
- Expliquer en détail le cadre de transaction distribué d'Alibaba open source seata
- Compréhension approfondie de l'optimisation des performances des serveurs hautement simultanés
- Les salaires de toutes les industries sont - ils publiés et les TI sont - elles les plus rentables?
- Complexité du temps et de l'espace dans le tri des bulles
- Interviewer: tell me about the commonly used sorting algorithms
- autogen.sh could not find libtool
- Le métacosme manque le plus de contenu, et l'informatique en nuage peut aider
- Extension tecdat | R Language Linear Discriminant Analysis (LDA), Quadratic Discriminant Analysis (qda) and regular Discriminant Analysis (RDA)