关于程序员:autotest-万级并发全链路自动化性能压测实践

54次阅读

共计 1047 个字符,预计需要花费 3 分钟才能阅读完成。

指标

  1. 开发人员 5 分钟上手压测,30 分钟纯熟。
  2. 惯例性能压测自动化,常态化;零开发,零测试投入;1 分钟自动化生成报告, 疾速定位问题!
  3. 针对场景 (经营流动) 性能压测自动化,整体压测效力晋升 10 倍。缩小 1 名业余压测人员投入!

计划

依照五个维度打造研发管理体系思考和布局,依照本身场景,思考自研全链路压测工具;自身工具开发难度不高,我的项目速度快,投入周期短;同时也长期解决问题,灵便适配,能无效达成指标;

 lmc-autotest BSF 全链路压测工具

开源地址:https://gitee.com/chejiangyi/…
基于 BSF 根底框架构建全链路压测框架, 从框架层面进行流量录制(也能够从浏览器自定义录制), 从工具层面进行流量回放,进行性能压测,主动输入压测报告,主动进行全链路性能验收,从而晋升测试效力,领导网站性能优化。

全链路压测架构设计

  1. 业务层引入 bsf core 和 autotest jar 包,该根底框架能够对流量进行采样录制。
  2. 采样录制的流量批量同步到 mysql 存储引擎。
  3. 全链路压测治理端,进行工作编写并启动压测工作。
  4. 压测工作散发到压测到节点集群,并进行样本流量批量回放压测。
  5. 超过工夫或者指定条件后,主动生成压测报告。单个节点倡议最大 2000-3000 并发线程,能够开多个压测节点(可部署 10-20 个节点,随时扩缩容),反对万级高并发大规模分布式性能压测。

    全链路压测工作执行生命周期

    工作别离由样本筛选脚本,谬误过滤样本脚本,压测申请前脚本,压测申请后脚本,工作终止脚本组成。压测节点收到工作后依照工作执行生命周期,不间断进行压测,直到命中“工作终止脚本规定”后,失常退出。
    全链路压测治理端性能

  6. 工作治理:能够对定制的压测工作进行编写,治理。能够实现不同场景和不同姿态的压测进行定制。编写工作帮忙文档
  7. 定时打算:能够对所有工作进行定时打算编写,治理。实现工作定时自动化调度。编写定时打算帮忙文档
  8. 节点状态:能够治理所有压测节点的心跳和状态及以后的性能状况。
  9. 压测报告:能够治理所有压测工作主动生成的报告。
  10. 执行日志:所有压测工作和定时打算执行的执行日志,在压测执行异样的时候,能够查看执行日志获悉。
  11. 采样查问:自动化 bsf 框架录制的流量或者用户主动导入的流量,能够通过此菜单进行查问和模仿调用验证。
  12. 公共办法库:通过定义公共的办法库,简化工作和定时打算的编写。公共办法库帮忙文档
  13. 用户治理:能够治理平台用户和 token 受权。
  14. 帮忙文档:到 gitee 源码治理文档和一些最佳实际文档。

    性能界面展现

     

  

 

 

  by 车江毅 

正文完
 0