固定QPS压测模式探索
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
FunTester
扫码关注公众号
扫码阅读
手机扫码阅读
文章摘要
本文介绍了作者在性能测试框架中实现固定QPS压测的思路和实现方式。作者首先提出了一个多线程基类,并让其他压测任务类继承于此。并发执行类由线程池、任务发生器和补偿器组成。作者提到,与之前关于mock固定QPS的接口相关文章的思路一致,但未采用Semaphore模式,原因是压测的多线程对单线程的需求。作者继续采用Java语言进行开发。
基类
作者提到基类设计仓促,注释较少,依然设计了定量压测和定时压测两种模式,属性isTimesMode和limit在执行类FixedQpsConcurrent中使用。代码片段展示了FixedQpsThread类的基本结构。
执行类
补偿线程设计待优化,包含两处休眠以进行循环检测和补偿间隔。作者指出测试结果对象保持了原有数值和计算方式,后期将根据实践结果进行调整。执行类FixedQpsConcurrent的代码片段展示了启动压力脚本的并发类。
文章最后提到其他配套的标记类和统计类待修改。作者提醒,公众号FunTester首发,禁止第三方擅自转载。同时,作者在文末列出了FunTester的热文精选。
注意:完整的实现和代码细节都可以在作者的GitHub和gitee地址找到。
FunTester
FunTester
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
FunTester的其他文章
JsonPath验证类既Groovy重载操作符实践
在使用JsonPath工具类封装进行接口响应的验证过程中,由于使用原生的JsonPath的API获取到的值默认是object,如果需要转成其他类型需要多些一些代码。
Selenium 中的 JUnit 注解
JUnit 是一个基于 Java 的开源框架,可帮助测试人员执行单元测试。
IntelliJ中基于文本的HTTP客户端
IntelliJ提供了一个纯基于文本的HTTP客户端。尽管一开始听起来可能很奇怪,但事实证明这是一个非常有用。
再谈持续测试
测试是软件开发生命周期 (SDLC) 的重要组成部分。
CompletableFuture实现异步转同步
在很早之前的文章服务端性能优化之异步查询转同步?
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线