1 Star 0 Fork 69

pingyan / lmc-autotest

forked from 车江毅 / lmc-autotest 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 5.50 KB
一键复制 编辑 原始数据 按行查看 历史
yecrazyxi 提交于 2023-03-31 14:18 . 增加压测工具对比

lmc-autotest BSF全链路压测工具

基于BSF基础框架构建全链路压测框架,从框架层面进行流量录制或浏览器自定义录制,从工具层面进行流量回放,进行性能压测,自动输出压测报告,自动进行全链路功能验收,从而提升测试效能,指导网站性能优化。 工具支持分布式部署,万级高并发压测,灵活定制化压测;支持调用链传递,支持压测染色!

Image text

项目结构

lmc-autotest
    -- lmc-autotest-core 	 #公共代码 (核心层)
    -- lmc-autotest-dao 	 #数据库操作 (数据层)
    -- lmc-autotest-service  #公共业务服务 (服务层)
    -- lmc-autotest-task 	 #压测任务节点 (任务层)
    -- lmc-autotest-provider #压测管理站点 (网站及api层)
 -- doc 					 #项目资料 (文档资料)
 -- README.md 				 #项目文档 (说明文档)

项目编译

#外网开发人员使用, 注意bsf-core.jar和bsf-autotest.jar包,可能出现包引用错误
#请至gitee release中下载相应jar包。
cd lmc-autotest
mvn install

管理端和压测端,整体代码逻辑还是非常简单的,思路也容易理解!欢迎大家阅读源码进行修改~~~

bsf-autotest sdk源码 包含调用链传递和染色传递逻辑,代码不多,思路简单,可以自行定制。

设计文档

压测工具对比

autotest locust Jmeter LoadRunner
分布式压力 支持 支持 支持 支持
单机并发能力
并发机制 线程 协程 线程 线程
开发语言 Java python Java Java
报告与分析 完善 简单图表 简单图表 完善
授权方式 开源 开源 开源 商业收费
测试脚本形式 JavaScript python Gui Java
资源监控 支持 不支持 不支持(需下载插件) 支持

安装文档

推荐: 支持云原生docker方式部署(也支持传统方式应用部署),k8s部署可最大化利用资源,可以在压测闲置的时候最大程度释放资源给其他云服务。秒级可扩缩容n个压测节点,2G内存即可实现万级并发压测!

使用文档

开发文档

实践笔记

兼容性

建议使用chrome浏览器

技能要求

懂点es5 js语法即可,无需专精(任何一位前端都可以写;后端开发应该5分钟就能掌握语法,当然学起来也很easy;测试人员只能看资质和学习力了)。

进阶篇

  1. 暂不支持文件上传类的流量录制。
  2. 微服务的流量录制目前支持feign进行traceid传递,支持mybatis进行操作或仅查询两种访问类型识别。
  3. 期望通过sharding-jdbc支持影子表和影子库,未来还会在jdbc层面做影子表和影子库扩展能力。

更新记录

  1. 2022-10-17 增加时钟对齐,增加http连接池能力,固定时间心跳上报压测信息。
  2. 2022-11-01 增加用户权限,计划任务,attribute属性信息等。
  3. 2022-11-03 增加openapi及simple多语言sdk范例。
  4. 2022-11-04 增加高亮和智能提示。
  5. 2022-11-11 增加公共方法库。
  6. 2022-11-14 修复get无法请求的bug问题[重要]。
  7. 2022-11-25 首页登陆页改版。

by 车江毅

使用交流

全链路压测效能10倍提升的压测工具实践笔记

工作微信,注明:全链路压测交流

Java
1
https://gitee.com/pingyan/lmc-autotest.git
git@gitee.com:pingyan/lmc-autotest.git
pingyan
lmc-autotest
lmc-autotest
master

搜索帮助