lmc-autotest

BSF 全链路压测工具
授权协议 Apache
开发语言 Java
所属分类 程序开发、 高性能网络开发库
软件类型 开源软件
地区 国产
投 递 者 松高歌
操作系统 跨平台
开源组织
适用人群 未知
 软件概览
lmc-autotest 是万级并发分布式全链路性能压测工具。
 
基于   BSF 基础框架构建全链路压测框架,从框架层面进行   流量录制  (也可以从浏览器自定义录制), 从工具层面进行流量回放,进行性能压测,自动输出压测报告,自动进行全链路功能验收,从而提升测试效能,指导网站性能优化。

全链路压测架构设计

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

全链路压测任务执行生命周期

任务分别由样本筛选脚本,错误过滤样本脚本,压测请求前脚本,压测请求后脚本,任务终止脚本组成。
压测节点收到任务后按照任务执行生命周期,不间断进行压测,直到命中 “任务终止脚本规则” 后,正常退出。

全链路压测管理端功能

1. 任务管理:可以对定制的压测任务进行编写,管理。可以实现不同场景和不同姿势的压测进行定制。   编写任务帮助文档
2. 定时计划:可以对所有任务进行定时计划编写,管理。实现任务定时自动化调度。   编写定时计划帮助文档
3. 节点状态:可以管理所有压测节点的心跳和状态及当前的性能情况。
4. 压测报告:可以管理所有压测任务自动生成的报告。
5. 执行日志:所有压测任务和定时计划执行的执行日志,在压测执行异常的时候,可以查看执行日志获悉。
6. 采样查询:自动化 bsf 框架录制的流量或者用户自动导入的流量,可以通过此菜单进行查询和模拟调用验证。
7. 公共方法库:通过定义公共的方法库,简化任务和定时计划的编写。   公共方法库帮助文档
8. 用户管理:可以管理平台用户和 token 授权。
9. 帮助文档:到 gitee 源码管理文档和一些最佳实践文档。

快速编译

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

 

 

快速安装

一般在 mysql8.0,jdk8 环境下,三步执行即可安装。同样也可以支持云原生方式安装,如   阿里云安装最佳实践
#web管理端
nohup java -jar \
-Dspring.datasource.druid.url=jdbc:mysql: //127.0.0.1:3306/autotest?useSSL=false \
-Dspring.datasource.druid.username={数据库} \
-Dspring.datasource.druid.password={数据库} \
lmc-autotest-provider.jar > provider.log  2 >& 1   &

#压测节点
nohup java -jar \
-Dspring.datasource.druid.url=jdbc:mysql: //127.0.0.1:3306/autotest?useSSL=false \
-Dspring.datasource.druid.username={数据库} \
-Dspring.datasource.druid.password={数据库} \
lmc-autotest-task.jar > task.log  2 >& 1   &
 

支持多语言使用和第三方介入

完善的实践文档

功能界面展示

 

 

 

 

 

 
by       车江毅
  • diff --git a/client/job.py b/client/job.py index 42f5688..e09f8c6 100644 --- a/client/job.py +++ b/client/job.py @@ -528,6 +528,7 @@ class base_client_job(base_job.base_job):          try:            

  • 单独使用client的步骤 1) http://iamspk.blogspot.com/2011/05/kvm-autotest.html apt-get install qemu qemu-kvm libvirt-bin KVM Autotest      Autotest is a framework for fully automated testing. It is designed  p

  • 1 安装 2. 添加host 进入admin interface 添加一个host, 可以使用ip地址或者url 记得将server机器autotest的ssh key 拷贝到host的root用户下。 3. 命令行上执行测试 ../server/autoserv -m 9.3.190.254 -r results/sleep -c ../client/tests/sleeptest/contro

  • Python模块之pyyaml - 知乎 YAML文件详解_X爪哇程序猿的博客-CSDN博客_yaml文件 常用文件类型 -- YAML文件介绍_Code小学僧的博客-CSDN博客_yaml是什么文件格式

  • Chromium OS Autotest 客户端测试(Client side test) 概述 背景 Autotest是一个用来测试Linux内核的开源项目。Autotest作为一个分布式系统,通过集成web接口、数据库、服务器和客户机本身 负责管理多个客户机的状态。Autotest查找client/tests和client/site_tests中的所有目录,查找以“control.”开头的简单p

  • Autotest 0.14.0 released! We are proud to announce a new release of autotest, 0.14.0. It is a new release, that tracks the latest development efforts on the code base, and brings a number of changes,

  •   Autotest 是一套开源的完全自动化的测试框架。主要应用于 Linux 内核测试,其内部包含了对 KVM 的自动化测试。 Autotest 系统架构如图所示,通过 Web 前端或者命令行工具提交测试任务, Autotest Server 通过调度器将任务分发到不同的 Client , Client 端任务执行完之后,再将结果返回到结果分析后端, Web 前端与命令行接口即可查看测试结果。

  • 1. 安装 下载源代码 git clone git://github.com/autotest/autotest.git 安装其他的依赖 https://github.com/autotest/autotest/wiki/KVMAutotest-InstallPrerequesitePackagesClient 2. 快速配置 client/test/kvm/get_started.py 运行这个

  • 《Game Of AutoTest》的最后一篇文章,聊一下游戏自动化测试的价值。 一千个人心中有一千个哈姆雷特。仅以笔者的角度,游戏自动化测试的价值,可以体现在这几个方面: 效率提升 缺陷发现 质量监控 技术支持 做好自动化测试的价值分析,不仅能够自动化测试技术落地做足理论基础,而且也能在任意时候指引自动化技术落地者做好当下的决策,从而逐渐把自动化测试做出更大的规模跟成果。 效率提升 自动化测试作

  • 许多人一直不解,在Ruby社区的开发者,为什么更喜欢类似于TextMate这样的文本编辑器,而非图形化的IDE工具?其中一个原因就是,在文本编辑器环境下,有大量Ruby编写的工具,可以帮助开发者完成繁琐的编码工作。最近,在Pat Eyler的blog中,对这些工具的特性进行了评比。 Autotest就是其中之一,它是Zentest包中的一个组件。其安装方式如下:\u0026#xD;\n gem i

 相关资料
  • MOSN 的 TLS 安全能力。 本文将向您展示 MOSN 的 TLS 安全能力。 证书方案 MOSN 支持通过 Istio Citadel 的证书签发方案,基于 Istio 社区的 SDS (Secret Discovery Service)方案为 Sidecar 配置证书,支持证书动态发现和热更新能力。为了支持更高级的安全能力,MOSN 没有使用 Citadel 的证书自签发能力,而是通过对接

  • Jasmine Phantom-js Sinon 是在Angular界最流行的测试框架。这是我们将编写我们的单元测试的核心框架。 为了测试我们的Angular 2应用程序,我们必须创造一个运行它环境,我们可以使用Chrome或Firefox浏览器来实现(Karma支持浏览器测试),或者我们可以使用无浏览器的环境中测试我们的应用程序,它可以为我们提供了自动化某些任务和管理我们的测试流程的控制。提供的

  • 1.1.1. 目录 1.1.2. 一、概述 1.1.3. 二、硬件示例 1.1.4. 三、软件架构 1.1.5. 四、全链路集成 1.1.6. 五、API参考 1.1.1. 目录 一、概述 Rokid全链路通用方案 软件框架简介 二、硬件示例 三、软件架构 SDK目录结构 config doc executable android-libraries文件列表 shared-libraries文件列

  • 相关改动 commit Revision change c0fc9f8cac7d923d1a06a7235d21e54919d3d42a D66598 增加优先级队列支持 ee3d9d614fd36e5ea07460228c670f40e434dbf4 D66823 修改转发模型,到每台机器都使用单独线程池和thrift Clinet 5e068156aefda275c926b90c50f8df0

  • PX4代码可以在 Mac OS, Linux 或者 Windows上进行开发,建议在Mac OS和Linux上进行开发,因为图像处理和高级导航在windows上不容易开发。如果不确定,新的开发者应默认用Linux和当前Ubuntu长期支持版本(Ubuntu LTS edition)。 开发环境 开发环境安装涉及到下面几种: Mac OS Linux Windows 如果你对Docker熟悉,你可以

  • APM 厂商「云智慧」是 DaoCloud 的合作伙伴,云智慧提供了用于应用压力测试的产品「压测宝」,可供 DaoCloud 上部署的应用进行分布式压力测试。以下内容由云智慧公司提供。 压测宝介绍 云智慧压测宝: 自动化全链路云测试,模拟真实压力 压测宝可以利用全球的云资源,快速灵活地部署测试,使任何客户都可以根据需求进行互联网和移动应用的性能测试,帮助客户找出系统瓶颈和潜在问题,改善和提升网站品