# lmc-autotest
**Repository Path**: myitgit/lmc-autotest
## Basic Information
- **Project Name**: lmc-autotest
- **Description**: 全链路自动化测试工具支持分布式部署,万级高并发,灵活定制化压测;可批量导入样本,自动录制样本,自动样本清洗,自动化压测,自动输出压测报告,让开发和压测人员性能测试的效能提升10倍!
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://my.oschina.net/chejiangyi/blog/5596894
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 93
- **Created**: 2022-11-25
- **Last Updated**: 2022-11-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# lmc-autotest BSF全链路压测工具
基于BSF基础框架构建全链路压测框架,从框架层面进行[流量录制](https://gitee.com/chejiangyi/free-bsf-all/tree/1.2-SNAPSHOT/free-bsf-autotest )或浏览器自定义录制,从工具层面进行流量回放,进行性能压测,自动输出压测报告,自动进行全链路功能验收,从而提升测试效能,指导网站性能优化。
工具支持分布式部署,万级高并发压测,灵活定制化压测;支持调用链传递,支持压测染色!

## 项目结构
```
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
```
## 设计文档
* [全链路压测原型](/doc/全链路压测.rp)
* [全链路压测sql](/doc/install.sql)
* [全链路压测设计图](/README-Design.md)
* [压测报告示例图](/doc/demo/test-demo.jpg)
## 安装文档
推荐: 支持云原生docker方式部署(也支持传统方式应用部署),k8s部署可最大化利用资源,可以在压测闲置的时候最大程度释放资源给其他云服务。秒级可扩缩容n个压测节点,2G内存即可实现万级并发压测!
* [release](https://gitee.com/chejiangyi/lmc-autotest/releases/)
* [快速安装](/README-Install.md)
* [阿里云k8s部署实战笔记](/README-Install-aliyun.md)
## 使用文档
* [定制场景录制文档](/README-ModHeader.md)
* [任务编写案例](/README-Demo.md)
* [任务编写案例2](/README-Demo2.md)
* [计划任务编写案例](/README-Job.md)
* [样本导入案例](/README-Sample.md)
* [公共方法库案例](/README-PublicCode.md)
## 开发文档
* [OPEN API](/README-OpenApi.md)
* [java完整版自动录制样本流量sdk集成](/actual/README-1.md)
* [C#版本流量录制simple sdk](/doc/sdk/simpleSampleFilter.cs)
* [java版本流量录制simple sdk](/doc/sdk/simpleSampleFilter.java)
## 实践笔记
* [小白快速上手压测](/actual/README-6.md)
* [小白快速流量回放压测](/actual/README-7.md)
* [自动化QPS核心和主要接口jenkins触发性能压测](/actual/README-5.md)
* [自动化QPS核心和主要接口性能url压测](/actual/README-1.md)
* [自动化QPS不同级别接口压测](/actual/README-2.md)
* [自动化QPS不同开发人员接口压测](/actual/README-3.md)
* [自动化QPS全链路接口压测](/actual/README-4.md)
* 自动化QPS秒杀接口压测
* 自动化TPS秒杀场景压测
* [k8s滚动升级验证](https://www.cnblogs.com/chejiangyi/p/16808139.html)
## 兼容性
建议使用chrome浏览器
## 进阶篇
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问题[重要]。
by [车江毅](https://www.cnblogs.com/chejiangyi/)
## 使用交流
[全链路压测效能10倍提升的压测工具实践笔记](https://www.cnblogs.com/chejiangyi/p/16900586.html)
工作微信,注明:全链路压测交流
